Vous pouvez diffuser en flux continu les mises à jour de la capture des données modifiées (CDC, Change Data Capture) depuis une base de données Azure SQL vers des destinations compatibles, telles que BigQuery ou Cloud Storage, à l'aide de Datastream. Datastream ne prend en charge Azure SQL Database que lorsque vous utilisez la méthode CDC des tables de modifications. Pour préparer votre source, vous devez activer la CDC sur votre base de données et vos tables, activer l'isolation d'instantané et configurer un utilisateur Datastream.
Pour configurer une base de données Azure SQL :
Activez la capture des données modifiées (CDC, Change Data Capture) pour votre base de données source Azure SQL. Pour ce faire, connectez-vous à la base de données à l'aide d'Azure Data Studio ou de SQL Server Management Studio, puis exécutez la commande suivante :
EXEC sys.sp_cdc_enable_db; GOActivez la CDC sur les tables pour lesquelles vous devez capturer les modifications :
EXEC sys.sp_cdc_enable_table @source_schema = N'SCHEMA_NAME', @source_name = N'TABLE_NAME', @role_name = NULL GORemplacez les éléments suivants :
SCHEMA_NAME: nom du schéma auquel appartiennent les tablesTABLE_NAME: nom de la table pour laquelle vous souhaitez activer la CDC
Activez l'isolation d'instantané.
Lorsque vous remplissez des données à partir de votre base de données SQL Server, il est important de vous assurer que les instantanés sont cohérents. Si vous n'appliquez pas les paramètres décrits dans cette section, les modifications apportées à la base de données pendant le processus de remplissage peuvent entraîner des doublons ou des résultats incorrects. L'application des paramètres d'isolation d'instantané est obligatoire si votre flux inclut des tables sans clé primaire.
L'activation de l'isolation d'instantané crée une vue temporaire de votre base de données au début du processus de remplissage. Cela garantit que les données copiées restent cohérentes, même si d'autres utilisateurs apportent des modifications aux tables en direct en même temps. L'activation de l'isolation d'instantané peut avoir un léger impact sur les performances, mais elle est essentielle pour une extraction fiable des données.
Pour activer l'isolation d'instantané :
- Connectez-vous à votre base de données à l'aide d'un client SQL Server.
- Exécutez la commande suivante :
ALTER DATABASE DATABASE_NAME SET ALLOW_SNAPSHOT_ISOLATION ON;Remplacez DATABASE_NAME par le nom de votre base de données.
Créez un utilisateur Datastream :
Connectez-vous à la base de données
masteret créez un identifiant :USE master; CREATE LOGIN YOUR_LOGIN WITH PASSWORD = 'PASSWORD';Connectez-vous à la base de données source et créez un utilisateur pour votre identifiant :
USE DATABASE_NAME CREATE USER USER_NAME FOR LOGIN YOUR_LOGIN;Attribuez les rôles
db_owneretdb_denydatawriterà votre utilisateur :EXEC sp_addrolemember 'db_owner', 'USER_NAME'; EXEC sp_addrolemember 'db_denydatawriter', 'USER_NAME';Accordez l'autorisation
VIEW DATABASE STATEà votre utilisateur :GRANT VIEW DATABASE STATE TO USER_NAME;
Étape suivante
- Découvrez comment Datastream fonctionne avec les sources SQL Server.