Configura una base de datos de Azure SQL

En los siguientes pasos, se explica cómo configurar una base de datos de Azure SQL para usarla con Datastream.

Para configurar una base de datos de Azure SQL, haz lo siguiente:

  1. Habilita la captura de datos modificados (CDC) para tu base de datos de Azure SQL de origen. Para ello, 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;
    GO
    
  2. Habilita 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
    GO
    

    Reemplaza lo siguiente:

    • SCHEMA_NAME: Es el nombre del esquema al que pertenecen las tablas.
    • TABLE_NAME: El nombre de la tabla para la que deseas habilitar la CDC
  3. Habilita el aislamiento de instantáneas.

    Cuando reabasteces datos de tu base de datos de SQL Server, es importante garantizar que los instantáneas sean coherentes. Si no aplicas la configuración que se describe en esta sección, los cambios que se realicen en la base de datos durante el proceso de reabastecimiento podrían generar duplicados o resultados incorrectos, en especial para las tablas sin claves primarias.

    Si habilitas el aislamiento de instantáneas, se crea una vista temporal de tu base de datos al comienzo del proceso de reabastecimiento. Esto garantiza que los datos que se copian permanezcan 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 una extracción de datos confiable.

    Para habilitar el aislamiento de instantáneas, haz lo siguiente:

    1. Conéctate a tu base de datos con un cliente de SQL Server.
    2. Ejecuta el siguiente comando:
    ALTER DATABASE DATABASE_NAME SET ALLOW_SNAPSHOT_ISOLATION ON;
    

    Reemplaza DATABASE_NAME por el nombre de tu base de datos.

  4. Crea un usuario de Datastream:

    1. Conéctate a la base de datos master y crea un acceso:

      USE master;
      CREATE LOGIN YOUR_LOGIN WITH PASSWORD = 'PASSWORD';
      
    2. Conéctate a la base de datos de origen y crea un usuario para tus credenciales de acceso:

      USE DATABASE_NAME
      CREATE USER USER_NAME FOR LOGIN YOUR_LOGIN;
      
    3. Asigna los roles db_owner y db_denydatawriter a tu usuario:

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

¿Qué sigue?