Mit Datastream können Sie CDC-Updates (Change Data Capture) aus einer Azure SQL-Datenbank in unterstützte Ziele wie BigQuery oder Cloud Storage streamen. Datastream unterstützt die Azure SQL-Datenbank nur mit der CDC-Methode für Tabellenänderungen. Zur Vorbereitung der Quelle aktivieren Sie CDC für Ihre Datenbank und Tabellen, aktivieren Sie die Snapshot-Isolation und konfigurieren Sie einen Datastream-Nutzer.
So konfigurieren Sie eine Azure SQL-Datenbank:
Aktivieren Sie Change Data Capture (CDC) für Ihre Azure SQL-Quelldatenbank. Stellen Sie dazu eine Verbindung zur Datenbank über Azure Data Studio oder SQL Server Management Studio her und führen Sie den folgenden Befehl aus:
EXEC sys.sp_cdc_enable_db; GOAktivieren 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 GOErsetzen Sie Folgendes:
SCHEMA_NAME: der Name des Schemas, zu dem die Tabellen gehörenTABLE_NAME: der Name der Tabelle, für die Sie CDC aktivieren möchten
Aktivieren Sie die Snapshot-Isolation.
Wenn Sie Daten aus Ihrer SQL Server-Datenbank nachfüllen, ist es wichtig, konsistente Snapshots zu gewährleisten. Wenn Sie die in diesem Abschnitt beschriebenen Einstellungen nicht anwenden, können Änderungen, die während des Nachfüllvorgangs an der Datenbank vorgenommen werden, zu Duplikaten oder falschen Ergebnissen führen. Die Anwendung von Snapshot-Isolationseinstellungen ist erforderlich, wenn Ihr Stream Tabellen ohne Primärschlüssel enthält.
Durch das Aktivieren der Snapshot-Isolation wird zu Beginn des Nachfüllvorgangs eine temporäre Ansicht Ihrer Datenbank erstellt. So bleiben die kopierten Daten konsistent, 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:
- Stellen Sie eine Verbindung zur Datenbank über einen SQL Server-Client her.
- 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.
Erstellen Sie einen Datastream-Nutzer:
Stellen Sie eine Verbindung zur
master-Datenbank her und erstellen Sie eine Anmeldung:USE master; CREATE LOGIN YOUR_LOGIN WITH PASSWORD = 'PASSWORD';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;Weisen Sie Ihrem Nutzer die Rollen
db_ownerunddb_denydatawriterzu:EXEC sp_addrolemember 'db_owner', 'USER_NAME'; EXEC sp_addrolemember 'db_denydatawriter', 'USER_NAME';Erteilen Sie Ihrem Nutzer die Berechtigung
VIEW DATABASE STATE:GRANT VIEW DATABASE STATE TO USER_NAME;
Nächste Schritte
- Weitere Informationen zur Verwendung von Datastream mit SQL Server-Quellen