3.10 Anlage einer Datenbank in der Azure Instanz eines Kunden
Jeder Kunde kann seine eigene Azure Instanz nutzen, um dort OCT Datenbanken abzulegen. Viele Kunden nutzen bereits indirekt Azure durch die Nutzung von Office / Microsoft 365, welches automatisch einen Azure Tenant erzeugt.
Der Kunde kann diese testen, indem er sich auf portal.azure.com versucht einzuloggen mit dem O365 Konto eines Administrators.
Um Datenbanken auf Azure abzulegen muss der Kunde auch eine Subscription abgeschlossen haben. Die Schritte zur Anlage einer Datenbank sind dann:
Anlage einer Ressourcengruppe
Erstellung eines Datenbankservers mit den Logins für OCT
Erstelllung der Datenbank mit den Usern für OCT
Konfiguration des Leistungsniveaus und der Backups
Konfiguration der Datenbankfirewall
Sofern Sie nicht nur eine Datenbank anlegen wollen, sondern mehrere, sollten Sie noch in Betracht ziehen
Anlage eines Datenbankpools
Konfiguration der Firewall des Datenbankservers
Folgende weitere Themen sollten Sie bedenken, diese werden aber hier nicht näher erklärt
Dynamische Firewallkonfiguration für Benutzer mit wechselnden IP Adressen (Anwender im Homeoffice), via Runbook
Dynamische Leistungsskalierung der Datenbank oder des Pools zur Kostenersparnis, via Runbook
Anlage einer Ressourcengruppe
Sie sollte eine eigene Ressourcengruppe z.B. “rgp_OCT” anlegen um die für OCT benötigten Ressourcen zusammen zu fassen und mit Verwaltungsrechten versehen zu können.
Erstellung eines Datenbankservers mit den Logins für OCT
Erstellen Sie einen MS SQL Datenbankserver https://portal.azure.com/#create/Microsoft.SQLServer das ist ein PaaS Server, wir benötigen keine virtulle Maschine !
dabei erstellen Sie einen administrativen SQL Benutzer für OCT “octadmin” und vergeben diesem ein Kennwort
sich selbst (Kunde) berechtigen Sie al Azure Active Directory Admin für den SQL Server
legen Sie zwei weitere Logins an
- CODE
-- Login octowner anlegen, er wird Besitzer aller OCT Datenbanken (muss in master ausgeführt werden) CREATE LOGIN octowner WITH password= 'xxx' -- Login octservice anlegen, über diese user greift oct zu CREATE LOGIN octservice WITH password= 'xxx'
Erstelllung der Datenbank mit den Usern für OCT
Legen Sie auf dem SQL Server eine Datenbank an
übertragen Sie den Besitz der Datenbank an octowner (in master ausführen)
- CODE
ALTER AUTHORIZATION ON DATABASE:: xxx TO octowner;
Erstellen Sie in der Datenbank eine Rolle
- CODE
Bis v5.9: IF DATABASE_PRINCIPAL_ID('pf_PlanningFactoryService') IS NULL CREATE ROLE pf_PlanningFactoryService; ab v5.10: IF DATABASE_PRINCIPAL_ID('OCTService') IS NULL CREATE ROLE OCTService;
Erstellen Sie den User OCTService aus dem Login OCTService und weisen Sie ihm die passende Rolle zu
- CODE
Bis v5.9: DROP USER IF EXISTS octservice; CREATE USER octservice FROM LOGIN octservice; EXEC sp_addrolemember 'pf_PlanningFactoryService','octservice'; Ab v5.10: DROP USER IF EXISTS octservice; CREATE USER octservice FROM LOGIN octservice; EXEC sp_addrolemember 'OCTService','octservice';
führen Sie das OCT Setup Script in der Datenbank aus
Konfiguration von Benutzern und Zugriffsrechten
Anlage der User für OCT
der User, welcher an der Datenbank bei der Ausführung des OCT Setup Scriptes an der Datenbank angemeldet war, wurde dabei als inititaler Administrator der OCT Datenbank berechtigt
soll ein weitere OCT Admininstrator angelegt werden, muss für diesen das “MakeMeAdmin.sql” Script ausgeführt werden, bzw. folgendes SQL Zeilen
- CODE
DECLARE @RC INT; EXEC @RC = system.spPOST_User 'SQL','[Username]','','','','','Active','Designer','Designer',1; PRINT @RC; EXEC @RC = system.spPOST_Right 'SQL','[Username]','','','Write','0','0'; PRINT @RC; EXEC @RC = system.spMaterialize_trUserRights; PRINT @RC;
mit diesem Benutzer kann man sich dann an der OCT Oberfläche anmelden und die weiteren User per OCT Oberfläche anlegen
ein ggf. durch die Ausführung des Setup Scripts unnötig erzeugter Administrator muss später per OCT Oberfläche gelöscht werden
Konfiguration der Datenbankfirewall
eine Azure Datenbank besitzt zwei Firewalls: die des Datenbankservers und die daer Datenbank selbst
man sollte primär Rechte in der Datenbankfirewall vergeben, nicht sofort auf Serverebene
freigegeben werden müssen die IP Adressen
auf welchen der OCT Server läuft (nicht separat nötig, falls dieser auch auf Azure läuft und Azure interner Traffic freigegeben wurde)
von welchen man direkt auf die Datenbank zugreifen will (mit Reportingwerkzeugen, Excel etc.)
Registrierung der Datenbank an einer OCT Serverinstanz
die OCT Datenbank wird an einer OCT Serverinstanz registiert
dieser Serverinstanz werden die Eigentümerrechte an der Datenbank übertragen
Konfiguration des Leistungsniveaus und der Backups
Konfiguration der Datenbankleistung
Die Datenbankleistung wird über die Azure Oberfläche erstellt, es gibt verschiedene Preismodell
Columnstore Indizes sind für OCT Datenintegrationsprozesse erforderlich, werden aber nicht in allen Preismodellen unterstützt (z.B. erst S3 beim DTU basierten Modell
Konfiguration der Backups
das Datenbankbackup wird über die Azure Oberfläche konfiguriert
Point-in-Time Restore Zeitpunkte sind am teuersten und können sehr kurz gewählt werden
im allgemeinen reichen wenige LTR Backups