OCT-Datenbanken können in der Azure Cloud angelegt werden. Wir können Ihnen diese dort bereitstellen; alternativ haben Sie die Möglichkeit, eine Datenbank in Ihrer eigenen Azure Subscription zu erstellen und uns bereitzustellen.
Die Bereitstellung in der eigenen Umgebung kann sinnvoll sein, wenn Sie die Daten „im eigenen Haus“ halten möchten. Aus Kostensicht ist dies in der Regel jedoch nicht effizient, da Sie die Datenbank üblicherweise günstiger über uns beziehen können.
Folgende Dinge sind bei der Bereitstellung durch Sie zu veranlassen:
-
Erstellen Sie eine Datenbank in passender Größe (Preismodell Standard oder General Purpose) - ca. 100 - 300 EUR pro Monat
-
Sofern Sie mehrere Datenbanken auf einem Azure SQL Server betreiben, empfiehlt es sich, einen SQL-Pool einzurichten, um Kosten zu optimieren.
-
Legen Sie innerhalb des Servers einen SQL-Benutzer mit der Rolle „db_owner“ an.
-
Verwenden Sie für die Datenbank kein serverloses Preismodell. Dieses ist zwar grundsätzlich möglich, jedoch nicht sinnvoll, da der OCT-Dienst die Datenbank kontinuierlich aktiv hält.
-
Konfigurieren Sie die Datenbank-Firewall so, dass Verbindungen von den relevanten IP-Adressen zugelassen werden.
-
Richten Sie zudem geeignete Backup-Einstellungen für die Datenbank ein.
-
Im Rahmen der Einrichtung werden wir in dieser Datenbank:
-
einen weiteren Benutzer „octservice“ mit der Rolle „db_octservice“ anlegen
-
die erforderlichen Datenbankobjekte erstellen
-
die Datenbank an eine OCT-Instanz anbinden
-
Der Datenbankbesitzer darf keine Azure-AD-Identität sein.
→ Ansonsten scheitert “EXECUTE AS ‘dbo’” wenn ein SQL Benutzer mit der Datenbank arbeitet, ein SQL Benutzer darf keinen AAD Benutzer impersonieren.
→ Der Datenbankbesitzer muss ein SQL Benutzer auf Serverebene sein.
-- Test
SELECT
dp.name,
dp.type_desc,
dp.authentication_type_desc,
dp.sid,
COALESCE(dp.default_schema_name, '') AS default_schema
FROM sys.database_principals dp
WHERE dp.name = 'dbo';
-- Änderung des Datenbankbesitzers
-- Auf der master-Datenbank ausführen:
ALTER AUTHORIZATION ON DATABASE::[IhreDatenbank] TO [ein_sql_login];