Puoi eseguire lo streaming degli aggiornamenti di Change Data Capture (CDC) da un database SQL di Azure a destinazioni supportate, come BigQuery o Cloud Storage, utilizzando Datastream. Datastream supporta il database SQL di Azure solo con il metodo CDC delle tabelle delle modifiche. Per preparare l'origine, abilita CDC sul database e sulle tabelle, attiva l'isolamento degli snapshot e configura un utente Datastream.
Per configurare un database SQL di Azure:
Abilita Change Data Capture (CDC) per il database SQL di Azure di origine. Per farlo, connettiti al database utilizzando Azure Data Studio o SQL Server Management Studio ed esegui il seguente comando:
EXEC sys.sp_cdc_enable_db; GOAbilita CDC nelle tabelle per le quali devi acquisire le modifiche:
EXEC sys.sp_cdc_enable_table @source_schema = N'SCHEMA_NAME', @source_name = N'TABLE_NAME', @role_name = NULL GOSostituisci quanto segue:
SCHEMA_NAME: il nome dello schema a cui appartengono le tabelleTABLE_NAME: il nome della tabella per cui vuoi abilitare CDC
Abilita l'isolamento degli snapshot.
Quando esegui il backfill dei dati dal database SQL Server, è importante assicurarsi che gli snapshot siano coerenti. Se non applichi le impostazioni descritte in questa sezione, le modifiche apportate al database durante il processo di backfill potrebbero generare duplicati o risultati errati. L'applicazione delle impostazioni di isolamento degli snapshot è obbligatoria se lo stream include tabelle senza chiavi primarie.
L'abilitazione dell'isolamento degli snapshot crea una visualizzazione temporanea del database all'inizio del processo di backfill. In questo modo, i dati copiati rimangono coerenti, anche se altri utenti apportano modifiche alle tabelle live contemporaneamente. L'abilitazione dell'isolamento degli snapshot potrebbe avere un leggero impatto sulle prestazioni, ma è essenziale per l'estrazione dati affidabile.
Per abilitare l'isolamento degli snapshot:
- Connettiti al database utilizzando un client SQL Server.
- Esegui questo comando:
ALTER DATABASE DATABASE_NAME SET ALLOW_SNAPSHOT_ISOLATION ON;Sostituisci DATABASE_NAME con il nome del database.
Crea un utente Datastream:
Connettiti al database
mastere crea un accesso:USE master; CREATE LOGIN YOUR_LOGIN WITH PASSWORD = 'PASSWORD';Connettiti al database di origine e crea un utente per il tuo accesso:
USE DATABASE_NAME CREATE USER USER_NAME FOR LOGIN YOUR_LOGIN;Assegna i ruoli
db_owneredb_denydatawriteral tuo utente:EXEC sp_addrolemember 'db_owner', 'USER_NAME'; EXEC sp_addrolemember 'db_denydatawriter', 'USER_NAME';Concedi l'autorizzazione
VIEW DATABASE STATEal tuo utente:GRANT VIEW DATABASE STATE TO USER_NAME;
Passaggi successivi
- Scopri di più su come Datastream funziona con le origini SQL Server.