Nesta página, descrevemos como configurar a captura de dados alterados (CDC) para transmitir dados de um banco de dados do Azure SQL para um destino compatível, como o BigQuery ou o Cloud Storage.
Para configurar um banco de dados do Azure SQL:
Ative a captura de dados alterados (CDC) para seu banco de dados de origem do Azure SQL. Para isso, conecte-se ao banco de dados usando o Azure Data Studio ou o SQL Server Management Studio e execute o seguinte comando:
EXEC sys.sp_cdc_enable_db; GO
Ative a CDC nas tabelas em que você precisa capturar mudanças:
EXEC sys.sp_cdc_enable_table @source_schema = N'SCHEMA_NAME', @source_name = N'TABLE_NAME', @role_name = NULL GO
Substitua:
SCHEMA_NAME
: o nome do esquema a que as tabelas pertencemTABLE_NAME
: o nome da tabela em que você quer ativar o CDC.
Ative o isolamento de snapshot.
Ao fazer o backfill de dados do banco de dados do SQL Server, é importante garantir snapshots consistentes. Se você não aplicar as configurações descritas nesta seção, as mudanças feitas no banco de dados durante o processo de backfill poderão levar a duplicatas ou resultados incorretos, especialmente para tabelas sem chaves primárias.
A ativação do isolamento de snapshot cria uma visualização temporária do banco de dados no início do processo de backfill. Isso garante que os dados copiados permaneçam consistentes, mesmo que outros usuários façam mudanças nas tabelas ativas ao mesmo tempo. Ativar o isolamento de snapshot pode ter um pequeno impacto no desempenho, mas é essencial para uma extração de dados confiável.
Para ativar o isolamento de snapshot:
- Acesse o banco de dados com um cliente do SQL Server.
- Execute este comando:
ALTER DATABASE DATABASE_NAME SET ALLOW_SNAPSHOT_ISOLATION ON;
Substitua DATABASE_NAME pelo nome do seu banco de dados.
Crie um usuário do Datastream:
Conecte-se ao banco de dados
master
e crie um login:USE master; CREATE LOGIN YOUR_LOGIN WITH PASSWORD = 'PASSWORD';
Conecte-se ao banco de dados de origem e crie um usuário para seu login:
USE DATABASE_NAME CREATE USER USER_NAME FOR LOGIN YOUR_LOGIN;
Atribua as funções
db_owner
edb_denydatawriter
ao usuário:EXEC sp_addrolemember 'db_owner', 'USER_NAME'; EXEC sp_addrolemember 'db_denydatawriter', 'USER_NAME';
Conceda a permissão
VIEW DATABASE STATE
ao usuário:GRANT VIEW DATABASE STATE TO USER_NAME;
A seguir
- Saiba mais sobre como o Datastream funciona com fontes do SQL Server.