Habilite a integração CDC no SQL Server
Prévia
O LakeFlow Connect está em um Public Preview fechado. Para participar da pré-visualização, entre em contato com a equipe do Databricks account .
Este artigo descreve como habilitar a captura integrada de dados de alterações (CDC) (CDC) em SQL Server. É necessário um acompanhamento de mudança ou o site CDC para a ingestão em Databricks. Para obter orientação sobre qual opção escolher, consulte Change acompanhamento vs. captura de dados de alterações (CDC).
Habilitar a integração CDC para o banco de dados de origem
Para habilitar o banco de dados de origem para CDC, execute o seguinte procedimento armazenado em Azure SQL, substituindo o valor de <database-name>
. O senhor deve estar conectado ao banco de dados que deseja habilitar para CDC.
EXEC sys.sp_cdc_enable_db
Para ativar o CDC em um banco de dados no Amazon RDS para SQL Server, execute o seguinte:
EXEC msdb.dbo.rds_cdc_enable_db '<database-name>'
Para obter mais informações, consulte Ativar captura de dados de alterações (CDC) para um banco de dados na documentação SQL Server.
Habilitar a integração CDC na tabela de origem
Para ativar o CDC na tabela de origem, execute o seguinte procedimento armazenado em Azure SQL:
EXEC sys.sp_cdc_enable_table
@source_schema = N'MySchema',
@source_name = N'MyTable',
@role_name = NULL,
@supports_net_changes = 1
Substitua os valores por
source_schema
,source_name
erole_name
.@support_net_changes
só aceita um valor de1
se a tabela tiver um primário key.
Para obter mais informações, consulte Ativar captura de dados de alterações (CDC) para uma tabela na documentação SQL Server.
Conceder SELECT no esquema do CDC
Além dos privilégios descritos na configuração da fonte, o usuário do banco de dados precisa do privilégio SELECT
no esquema cdc
que contém as tabelas de alteração criadas quando o CDC é ativado.
GRANT SELECT ON SCHEMA::cdc to [cdc-username];
Configurar a captura de DDL e a evolução do esquema
O conector do SQL Server pode rastrear a linguagem de definição de dados (DDL) em objetos de banco de dados replicados e aplicar alterações relevantes no esquema da tabela às tabelas de destino ou adicionar novas tabelas no caso de replicação de esquema completo.
Para realizar a captura DDL, é necessária uma configuração adicional do objeto de banco de dados (por exemplo, tabelas internas, procedimentos armazenados e gatilhos). O script T-SQL fornecido nesta seção elimina todos os objetos de suporte DDL preexistentes e cria os objetos de suporte DDL necessários para capturar as alterações de DDL que ocorrem no banco de dados.
Para configurar a captura de DDL e a evolução do esquema, faça o seguinte:
faça o download do script T-SQL a seguir:
Modifique o script para definir o valor
mode
:BOTH
: Inicializa os objetos CT e CDC (default)CT
: inicializa objetos CTCDC
: Inicializa os objetos CDCNONE
: Exclui todos os objetos CT e CDC pré-existentes
Execute o script em cada banco de dados que contém tabelas que o senhor deseja replicar.
Conceder privilégios adicionais ao usuário
Conceda as seguintes permissões ao usuário do banco de dados:
GRANT VIEW DEFINITION ON object::dbo.lakeflowDisableOldCaptureInstance_1_1 TO <database-user>;
GRANT VIEW DEFINITION ON object::dbo.lakeflowRefreshCaptureInstance_1_1 TO <database-user>;
GRANT VIEW DEFINITION ON object::dbo.lakeflowMergeCaptureInstances_1_1 TO <database-user>;
GRANT VIEW DEFINITION TO <database-user>;
GRANT VIEW DATABASE PERFORMANCE STATE TO <database-user>;
GRANT UPDATE ON object::dbo.lakeflowCaptureInstanceInfo_1_1 TO <database-user>;
GRANT EXECUTE ON schema :: dbo TO <database-user>;
GRANT EXECUTE ON object::dbo.lakeflowMergeCaptureInstances_1_1 TO <database-user>;
GRANT EXECUTE ON object::dbo.lakeflowDisableOldCaptureInstance_1_1 TO <database-user>;
GRANT EXECUTE ON object::dbo.lakeflowRefreshCaptureInstance_1_1 TO <database-user>;