Azure SQL-Datenbank konfigurieren

In den folgenden Schritten wird beschrieben, wie Sie eine Azure SQL-Datenbank für die Verwendung mit Datastream konfigurieren.

So konfigurieren Sie eine Azure SQL-Datenbank:

  1. Aktivieren Sie Change Data Capture (CDC) für Ihre Azure SQL-Quelldatenbank. Stellen Sie dazu über Azure Data Studio oder SQL Server Management Studio eine Verbindung zur Datenbank her und führen Sie den folgenden Befehl aus:

    EXEC sys.sp_cdc_enable_db;
    GO
    
  2. Aktivieren Sie CDC für die Tabellen, für die Sie Änderungen erfassen müssen:

    EXEC sys.sp_cdc_enable_table
    @source_schema = N'SCHEMA_NAME',
    @source_name = N'TABLE_NAME',
    @role_name = NULL
    GO
    

    Ersetzen Sie Folgendes:

    • SCHEMA_NAME: der Name des Schemas, zu dem die Tabellen gehören
    • TABLE_NAME: der Name der Tabelle, für die Sie CDC aktivieren möchten
  3. Starten Sie den SQL Server-Agent und stellen Sie sicher, dass er immer ausgeführt wird. Wenn der SQL Server-Agent über einen längeren Zeitraum nicht verfügbar ist, werden die Logs möglicherweise abgeschnitten. Dies führt zu einem dauerhaften Verlust der Änderungsdaten, die von Datastream nicht gelesen wurden.

    Informationen zum Ausführen des SQL Server-Agents finden Sie unter Instanz des SQL Server-Agents starten, beenden oder neu starten.

  4. Snapshot-Isolation aktivieren.

    Beim Backfill von Daten aus Ihrer SQL Server-Datenbank ist es wichtig, für konsistente Snapshots zu sorgen. Wenn Sie die in diesem Abschnitt beschriebenen Einstellungen nicht anwenden, können während des Backfill-Prozesses an der Datenbank vorgenommene Änderungen zu Duplikaten oder falschen Ergebnissen führen, insbesondere bei Tabellen ohne Primärschlüssel.

    Wenn Sie die Snapshot-Isolation aktivieren, wird zu Beginn des Backfill-Prozesses eine temporäre Ansicht Ihrer Datenbank erstellt. Dadurch wird sichergestellt, dass die kopierten Daten einheitlich bleiben, auch wenn andere Nutzer gleichzeitig Änderungen an den Live-Tabellen vornehmen. Das Aktivieren der Snapshot-Isolation kann sich geringfügig auf die Leistung auswirken, ist aber für eine zuverlässige Datenextraktion unerlässlich.

    So aktivieren Sie die Snapshot-Isolation:

    1. Stellen Sie eine Verbindung zu Ihrer Datenbank über einen SQL Server-Client her.
    2. Führen Sie dazu diesen Befehl aus:
    ALTER DATABASE DATABASE_NAME SET ALLOW_SNAPSHOT_ISOLATION ON;
    

    Ersetzen Sie DATABASE_NAME durch den Namen Ihrer Datenbank.

  5. Erstellen Sie einen Datastream-Nutzer:

    1. Stellen Sie eine Verbindung zur Datenbank master her und erstellen Sie ein Log-in:

      USE master;
      CREATE LOGIN YOUR_LOGIN WITH PASSWORD = 'PASSWORD';
      
    2. Stellen Sie eine Verbindung zur Quelldatenbank her und erstellen Sie einen Nutzer für Ihre Anmeldung:

      USE DATABASE_NAME
      CREATE USER USER_NAME FOR LOGIN YOUR_LOGIN;
      
    3. Weisen Sie Ihrem Nutzer die Rollen db_owner und db_denydatawriter zu:

      EXEC sp_addrolemember 'db_owner', 'USER_NAME';
      EXEC sp_addrolemember 'db_denydatawriter', 'USER_NAME';