Configurar pré-requisitos de migração para SQL Server
Nesta página
Para executar tarefas de migração de um banco de dados de dados de origem SQL Server, o banco de dados de dados pode exigir algumas alterações de configuração. Antes de iniciar um tarefa de migração, o Relational Migrator verifica se o banco de dados de dados está configurado corretamente. Se o Relational Migrator determinar que o banco de dados de dados precisa de alterações de configuração, ele gerará automaticamente um script SQL com as alterações necessárias. É recomendável que um administrador do banco de dados (DBA) revise os comandos neste script e execute sua execução no servidor do banco de dados de dados. Este tópico fornece mais detalhes sobre as etapas de configuração necessárias. A configuração do SQL Server depende do tipo de tarefa de migração:
As tarefas de migração de snapshots migram todos os dados e depois param.
O tarefa de migração contínua executa um snapshot e, em seguida, entra em um estágio de CDC para replicar continuamente as alterações de dados.
Sobre esta tarefa
Esta página aborda os detalhes dos scripts SQL gerados automaticamente pelo Relational Migrator.
O Relational Migrator detecta automaticamente as definições de configuração ao se conectar ao reconhecimento de data center e gera as instruções SQL apropriadas para habilitar o CDC, se necessário.
O Relational Migrator não cria nenhum índice no SQL Server para facilitar os trabalhos de migração. A permissão de criação de índice não é necessária.
Passos
The easiest way to set up your database is to run the automatically generated script that Relational Migrator prompts you to download when you create a migration job. To understand the permissions or run the SQL manually, read the procedures below.
Configure sua instância do SQL Server com base no tipo de tarefa de migração. Consulte a guia abaixo para obter detalhes sobre as configurações do tarefa de migração contínua e snapshot.
Para tarefa de snapshot no servidor SQL, você deve habilitar o CDC no nível do reconhecimento de data center.
Configurar CDC no nível do reconhecimento de data center
Habilitar o CDC no CDC no nível do reconhecimento de data center gera um pequeno número de tabelas do sistema no reconhecimento de data center, deixando as tabelas do usuário inalteradas, e não adiciona nenhuma sobrecarga de desempenho. Habilitar o CDC por si só não resulta na captura de alterações.
Para trabalhos contínuos no SQL MongoDB Server, você deve habilitar o CDC no nível do banco de dados e no nível da tabela para cada tabela.
Configurar CDC no nível do banco de dados
Para habilitar o CDC no nível do banco de dados de dados, use o procedimento armazenado sys.sp_cdc_enable_db
.
Os blocos de código abaixo são uma amostra do código gerado automaticamente pelo Relational Migrator. Você pode executar o código manualmente substituindo o nome do banco de dados por MyDB
:
USE MyDB GO EXEC sys.sp_cdc_enable_db GO
Para instâncias do SQL MongoDB Server hospedadas no Amazon Web Services RDS:
USE MyDB GO EXEC msdb.dbo.rds_cdc_enable_db 'MyDB'; GO
Habilite o agente SQL MongoDB Server e verifique as permissões do banco de dados
Para habilitar a opção CDC no nível da tabela:
Você deve ter o role de nível de servidor
sysadmin
.Você deve ter o papel de nível do banco de dados
db_owner
.O agente do SQL do deve estar em execução.
A conta de serviço usada para se conectar ao Servidor SQL MongoDB deve ter permissão de seleção em todas as tabelas necessárias.
Configurar CDC no nível da tabela
Para habilitar o CDC no nível da tabela, use o procedimento armazenado sys.sp_cdc_enable_table
.
Você pode verificar as configurações do CDC do SQL Server ao visualizar a is_tracked_by_cdc
coluna na visualização do catálogo sys.tables. Um valor de 1
para is_tracked_by_cdc
indica que a tabela está habilitada para alterar a captura de dados.
O bloco de código abaixo é uma amostra do código gerado automaticamente.Você pode executar o código manualmente para habilitar a tabela CDC:
USE MyDB GO EXEC sys.sp_cdc_enable_table @source_schema = N'dbo', @source_name = N'MyTable', @role_name = N'MyRole', @filegroup_name = N'MyDB_CT', @supports_net_changes = 1 GO
Saiba mais
O Relational Migrator depende do conector Debezium de código aberto para capturar alterações no nível da linha. Para obter mais detalhes, consulte Debezium SQL Server.