Habilitar CDC integrado no Microsoft SQL Server
Esta página contém conteúdo antigo. Databricks recomenda seguir os passos descritos em Preparar SQL Server para ingestão usando o script de objetos utilitários .
Aprenda como habilitar a captura integrada de dados de alterações (CDC) (CDC) no Microsoft SQL Server. Você precisa habilitar o acompanhamento de alterações ou CDC para usar o conector SQL Server . Databricks recomenda o uso do acompanhamento de alterações para qualquer tabela que possua uma key primária, a fim de minimizar a carga no banco de dados de origem. Se o acompanhamento de alterações e CDC estiverem ambos ativados, o conector usa o acompanhamento de alterações. Para orientação sobre qual opção escolher, consulte Acompanhamento de alteração vs. captura de dados de alterações (CDC).
Ative CDC integrado para o banco de dados de origem.
-
Faça login no banco de dados que deseja habilitar para CDC.
-
Executar o seguinte comando T-SQL no contexto do banco de dados:
Banco de Dados SQL do Azure e SQL Server local
SQLEXEC sys.sp_cdc_enable_dbAmazon RDS para SQL Server
SQLEXEC msdb.dbo.rds_cdc_enable_db '<database-name>'
Para obter mais informações, consulte Habilitar captura de dados de alterações (CDC) para um banco de dados na documentação SQL Server .
Configurar o período de retenção do CDC
Defina o período de retenção para o tempo máximo (em minutos) que o gateway provavelmente ficará inativo. Após esse período, é necessário realizar uma refresh completa para retomar o funcionamento do gateway.
EXEC sys.sp_cdc_change_job @job_type = N'cleanup', @retention = 20160;
Ative CDC integrado na tabela de origem.
Para habilitar CDC na tabela de origem, execute o seguinte procedimento armazenado no Azure SQL. Substitua os valores de source_schema, source_name e role_name. @support_net_changes só suporta um valor de 1 se a tabela tiver uma key primária.
- Substitua os valores de
source_schema,source_nameerole_name. - Se a tabela tiver uma key primária,
@support_net_changessuporta apenas o valor1.
EXEC sys.sp_cdc_enable_table
@source_schema = N'MySchema',
@source_name = N'MyTable',
@role_name = NULL,
@supports_net_changes = 1
Para obter mais informações, consulte Habilitar captura de dados de alterações (CDC) para uma tabela na documentação SQL Server .
Concessão SELECT sobre o esquema do CDC
Além dos privilégios descritos na configuração de origem, o usuário do banco de dados precisa do privilégio SELECT no esquema cdc. Este esquema contém as tabelas de alterações que são criadas quando o CDC está ativado. execute o seguinte comando T-SQL:
GRANT SELECT ON SCHEMA::cdc to <database-user>;
Concessão VIEW SERVER STATE (local e RDS)
Somente para instâncias on-premises e RDS, o privilégio VIEW SERVER STATE é necessário para consultar sys.dm_server_services, que é usado para verificar o status do SQL Server Agent. execute o seguinte comando T-SQL:
GRANT VIEW SERVER STATE to <database-user>