Puedes transmitir actualizaciones de captura de datos modificados (CDC) desde una base de datos de Azure SQL a destinos compatibles, como BigQuery o Cloud Storage, con Datastream. Datastream admite Azure SQL Database solo con el método CDC para cambiar tablas. Para preparar tu fuente, habilita la CDC en tu base de datos y tablas, activa el aislamiento de instantáneas y configura un usuario de Datastream.
Para configurar una base de datos de Azure SQL, haz lo siguiente:
Habilita la captura de datos modificados (CDC) para tu base de datos de origen de Azure SQL. Para hacerlo, conéctate a la base de datos con Azure Data Studio o SQL Server Management Studio y ejecuta el siguiente comando:
EXEC sys.sp_cdc_enable_db; GOHabilita la CDC en las tablas para las que necesitas capturar cambios:
EXEC sys.sp_cdc_enable_table @source_schema = N'SCHEMA_NAME', @source_name = N'TABLE_NAME', @role_name = NULL GOReemplaza lo siguiente:
SCHEMA_NAME: el nombre del esquema al que pertenecen las tablasTABLE_NAME: el nombre de la tabla para la que quieres habilitar la CDC
Habilita el aislamiento de instantánea.
Cuando completas datos de tu base de datos de SQL Server, es importante garantizar instantáneas coherentes. Si no aplicas la configuración que se describe en esta sección, los cambios realizados en la base de datos durante el proceso de relleno pueden generar duplicados o resultados incorrectos. Es necesario aplicar la configuración de aislamiento de instantáneas si tu transmisión incluye tablas sin claves primarias.
Habilitar el aislamiento de instantáneas crea una vista temporal de tu base de datos al comienzo del proceso de relleno. Esto garantiza que los datos que se copian sigan siendo coherentes, incluso si otros usuarios realizan cambios en las tablas activas al mismo tiempo. Habilitar el aislamiento de instantáneas puede tener un ligero impacto en el rendimiento, pero es esencial para la extracción de datos confiable.
Para habilitar el aislamiento de instantáneas, haz lo siguiente:
- Conéctate a tu base de datos con un cliente de SQL Server.
- Ejecuta el siguiente comando:
ALTER DATABASE DATABASE_NAME SET ALLOW_SNAPSHOT_ISOLATION ON;Reemplaza DATABASE_NAME por el nombre de tu base de datos.
Crea un usuario de Datastream:
Conéctate a la base de datos
mastery crea un acceso:USE master; CREATE LOGIN YOUR_LOGIN WITH PASSWORD = 'PASSWORD';Conéctate a la base de datos de origen y crea un usuario para tu acceso:
USE DATABASE_NAME CREATE USER USER_NAME FOR LOGIN YOUR_LOGIN;Asigna los roles
db_ownerydb_denydatawritera tu usuario:EXEC sp_addrolemember 'db_owner', 'USER_NAME'; EXEC sp_addrolemember 'db_denydatawriter', 'USER_NAME';Otorga el permiso
VIEW DATABASE STATEa tu usuario:GRANT VIEW DATABASE STATE TO USER_NAME;
¿Qué sigue?
- Obtén más información sobre cómo funciona Datastream con las fuentes de SQL Server.