É possível transmitir atualizações de captura de dados alterados (CDC) de um banco de dados do Azure SQL para destinos compatíveis, como o BigQuery ou o Cloud Storage, usando o Datastream. O Datastream só oferece suporte ao Banco de Dados SQL do Azure com o método CDC de tabelas de alterações. Para preparar a origem, ative a CDC no banco de dados e nas tabelas, ative o isolamento de snapshot e configure um usuário do Datastream.
Para configurar um banco de dados do Azure SQL:
Ative a captura de dados alterados (CDC) para o banco de dados de origem do Azure SQL. Para fazer 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; GOAtive a CDC nas tabelas em que você precisa capturar alterações:
EXEC sys.sp_cdc_enable_table @source_schema = N'SCHEMA_NAME', @source_name = N'TABLE_NAME', @role_name = NULL GOSubstitua:
SCHEMA_NAME: o nome do esquema a que as tabelas pertencemTABLE_NAME: o nome da tabela em que você quer ativar a CDC
Ativar 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 resultados duplicados ou incorretos. A aplicação das configurações de isolamento de snapshot é necessária se o stream incluir 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. A ativação do isolamento de snapshot pode ter um pequeno impacto no desempenho, mas é essencial para a extração confiável de dados.
Para ativar o isolamento de snapshot:
- Conecte-se ao banco de dados usando um cliente do SQL Server.
- Execute este comando:
ALTER DATABASE DATABASE_NAME SET ALLOW_SNAPSHOT_ISOLATION ON;Substitua DATABASE_NAME pelo nome do banco de dados.
Criar um usuário do Datastream:
Conecte-se ao banco de dados
mastere 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_owneredb_denydatawriterao usuário:EXEC sp_addrolemember 'db_owner', 'USER_NAME'; EXEC sp_addrolemember 'db_denydatawriter', 'USER_NAME';Conceda a permissão
VIEW DATABASE STATEao usuário:GRANT VIEW DATABASE STATE TO USER_NAME;
A seguir
- Saiba mais sobre como o Datastream funciona com origens do SQL Server.