Habilitación de CDC integrados en Microsoft SQL Server

Importante

Esta página contiene contenido heredado. Databricks recomienda seguir los pasos descritos en Preparación de SQL Server para la ingesta mediante el script de objetos de utilidad en su lugar.

Obtenga información sobre cómo habilitar la captura de datos modificados integrada (CDC) en Microsoft SQL Server. Debe habilitar el seguimiento de cambios o CDC para utilizar el conector de SQL Server. Databricks recomienda usar el seguimiento de cambios para cualquier tabla que tenga una clave principal para minimizar la carga en la base de datos de origen. Si la captura de datos modificados y la CDC están habilitados, el conector usa el seguimiento de cambios. Para obtener instrucciones sobre qué opción elegir, consulte Seguimiento de cambios frente a captura de datos modificados.

Habilitar CDC integrado para la base de datos de origen

  1. Inicie sesión en la base de datos que desea habilitar para CDC.

  2. Ejecute el siguiente comando T-SQL en el contexto de la base de datos:

    Azure SQL Database y SQL Server local

    EXEC sys.sp_cdc_enable_db
    

    Amazon RDS para SQL Server

    EXEC msdb.dbo.rds_cdc_enable_db '<database-name>'
    

Para obtener más información, consulte Habilitación de la captura de datos modificados para una base de datos en la documentación de SQL Server.

Configurar el periodo de retención de CDC

Establezca el periodo de retención en el tiempo máximo (en minutos) que es probable que la puerta de enlace esté inactiva. Una vez transcurrido este período de tiempo, se requiere una actualización completa para reanudar la puerta de enlace.

EXEC sys.sp_cdc_change_job @job_type = N'cleanup', @retention = 20160;

Habilitación de CDC integrada en la tabla de origen

Para habilitar CDC en la tabla de origen, ejecute el siguiente procedimiento almacenado en Azure SQL. Reemplace los valores de source_schema, source_namey role_name. @support_net_changes solo admite un valor de 1 si la tabla tiene una clave principal.

  • Reemplace los valores de source_schema, source_namey role_name.
  • Si la tabla tiene una clave principal, @support_net_changes solo admite un valor de 1.
EXEC sys.sp_cdc_enable_table
@source_schema = N'MySchema',
@source_name   = N'MyTable',
@role_name     = NULL,
@supports_net_changes = 1

Para obtener más información, consulte Habilitación de la captura de datos modificados para una tabla en la documentación de SQL Server.

Concesión de SELECT en el esquema de CDC

Además de los privilegios descritos en la configuración de origen, el usuario de la base de datos necesita el SELECT privilegio en el esquema cdc. Este esquema contiene las tablas de cambios que se crean cuando CDC está habilitado. Ejecute el siguiente comando de T-SQL:

GRANT SELECT ON SCHEMA::cdc to <database-user>;

Concesión de VIEW SERVER STATE (local y RDS)

Solo para las instancias locales y RDS, el VIEW SERVER STATE privilegio es necesario para consultar sys.dm_server_services, que se usa para comprobar el estado del Agente SQL Server. Ejecute el siguiente comando de T-SQL:

GRANT VIEW SERVER STATE to <database-user>

Paso siguiente

Configurar la captura de DDL y la evolución del esquema