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 la 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;
    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: Es el nombre de la tabla para la que deseas habilitar las CDC
  3. Inicia el agente de SQL Server y asegúrate de que se ejecute en todo momento. Si el agente de SQL Server permanece inactivo durante un período prolongado, es posible que los registros se trunquen, lo que generaría una pérdida permanente de los datos de cambio que Datastream no leyó.

    Para obtener información sobre cómo ejecutar el agente de SQL Server, consulta Inicia, detén o reinicia una instancia del agente de SQL Server.

  4. Habilitar el aislamiento de instantánea

    Cuando reabasteces datos desde 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 reabastecimiento pueden generar duplicados o resultados incorrectos, en especial, en tablas sin claves primarias.

    Si habilitas el aislamiento de instantánea, se creará una vista temporal de tu base de datos al comienzo del proceso de reabastecimiento. 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 una extracción de datos confiable.

    Para habilitar el aislamiento de instantánea, 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.

  5. Crea un usuario de Datastream:

    1. Conéctate a la base de datos de 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 tu 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';