O recurso Create Reverse Task do Data Transmission Service (DTS) envia dados de volta para um banco de dados source em cenários de recuperação de desastres ou alternância de serviço.
Pré-requisitos
Crie um banco de dados de recuperação de desastres com espaço de armazenamento superior ao do banco de dados de produção. Recomendamos pelo menos 10% a mais de armazenamento em relação ao utilizado pelo banco de dados de produção.
-
Crie contas de banco de dados para sincronização de dados tanto no banco de dados de produção quanto no de recuperação de desastres. Para obter mais informações sobre as permissões necessárias, consulte Sincronização unidirecional entre instâncias do RDS MySQL, Sincronização entre instâncias do RDS SQL Server, Sincronizar dados de uma instância de conjunto de réplicas do ApsaraDB for MongoDB para outra instância de conjunto de réplicas ou cluster fragmentado e Sincronizar dados de uma instância de cluster fragmentado do ApsaraDB for MongoDB para uma instância de conjunto de réplicas ou cluster fragmentado do ApsaraDB for MongoDB.
ImportanteA conta do banco de dados de recuperação de desastres exige permissões adicionais:
Para uma instância de sincronização entre bancos de dados SQL Server: a conta do banco de dados de destino precisa ter as permissões da função
sysadmin. Para conceder essas permissões, use uma conta privilegiada para executar o seguinte comando:EXEC sp_addsrvrolemember @loginame = N'<Account name>', @rolename = N'sysadmin';Para uma instância de sincronização entre bancos de dados MySQL: a conta do banco de dados de destino também precisa das permissões
REPLICATION CLIENT,REPLICATION SLAVE,SHOW VIEWeSELECT. Para obter informações sobre como conceder permissões, consulte a documentação oficial do MySQL.Para uma instância de sincronização entre instâncias do ApsaraDB for MongoDB: a conta do banco de dados de destino também precisa ter permissões de
readno banco de dados a ser sincronizado, no banco de dadosadmine no banco de dadoslocal. Para obter mais informações, consulte Gerenciar contas de banco de dados usando o DMS.
Observações de uso
-
Crie uma instância reversa apenas para uma instância de sincronização entre bancos de dados SQL Server, MySQL ou instâncias do ApsaraDB for MongoDB. Na instância reversa, selecione somente a opção Incremental Data Synchronization em Synchronization Types.
ImportanteSe a instância de sincronização original envolver bancos de dados SQL Server ou MySQL, esse recurso terá suporte apenas quando o banco de dados de destino for uma instância de banco de dados ApsaraDB.
A instância reversa não sincroniza dados gravados diretamente no banco de dados de destino antes da criação dessa instância.
Após a criação de uma instância reversa, o sistema executa uma pré-verificação imediatamente. Se a pré-verificação for aprovada, o DTS começa a capturar dados incrementais, mas o módulo de gravação de dados incrementais não entra em execução.
Para evitar inconsistência de dados ou falha na instância, pause a instância original antes de iniciar a instância reversa correspondente.
Crie apenas uma instância reversa para cada instância de sincronização. Depois que a instância reversa for iniciada, não será possível iniciar diretamente a instância original.
Não é possível criar uma instância reversa para uma instância de sincronização entre regiões ou entre países.
As tabelas a serem sincronizadas devem ter chaves primárias ou restrições UNIQUE, e todos os campos nas restrições devem ser exclusivos. Caso contrário, podem ocorrer dados duplicados.
Defina o período de retenção dos logs binários com base no tempo estimado de recuperação após a ocorrência de uma exceção no banco de dados de produção.
Se a tarefa original usar uma instância Serverless, a tarefa reversa usará uma instância de pagamento conforme o uso com a especificação micro. Se a tarefa original usar uma instância de assinatura ou de pagamento conforme o uso, a tarefa reversa utilizará, por padrão, o mesmo método de faturamento e especificação da tarefa original.
Caso a tarefa original seja uma tarefa de sincronização entre regiões, alterne para a região source da tarefa direta para visualizar a tarefa reversa na lista de tarefas de sincronização.
A cobrança de uma tarefa reversa ocorre mesmo quando ela está pausada.
O Status de uma tarefa do DTS pode exibir Retrying se uma exceção impedir a conexão com o banco de dados de negócios. Esse comportamento é esperado.
Procedimento
Cenário de recuperação de desastres de banco de dados
-
Crie uma tarefa de sincronização direta para sincronizar dados do banco de dados de produção para o banco de dados de recuperação de desastres, conforme os requisitos do seu serviço.
Selecione as especificações conforme necessário. Defina o parâmetro Retry Time for Failed Connections com base no tempo estimado de recuperação do seu banco de dados. Para obter mais informações sobre como criar uma tarefa de sincronização direta, consulte Sincronização unidirecional entre instâncias do RDS MySQL, Sincronização entre instâncias do RDS SQL Server, Sincronizar dados de uma instância de conjunto de réplicas do ApsaraDB for MongoDB para outra instância de conjunto de réplicas ou cluster fragmentado e Sincronizar dados de uma instância de cluster fragmentado do ApsaraDB for MongoDB para uma instância de conjunto de réplicas ou cluster fragmentado do ApsaraDB for MongoDB.
-
Aguarde até que o Status da tarefa de sincronização direta seja Running e, em seguida, crie uma tarefa reversa.
Na lista Data Synchronization Tasks, localize sua tarefa de sincronização direta.
Na coluna Actions da instância de destino, escolha .
-
Na caixa de diálogo Note, clique em OK.
Aguarde a conclusão da pré-verificação da instância reversa; nesse momento, o Status muda para Performing Initial Synchronization.
NotaSe a opção Auto Refresh estiver desativada, clique manualmente no ícone
acima da coluna Actions para atualizar o Status da instância de sincronização.Se a pré-verificação falhar, clique em View Cause. Em seguida, clique em View Details no item de verificação com falha, corrija o problema conforme indicado e execute a pré-verificação novamente.
Após a criação da tarefa reversa, nenhuma operação adicional é necessária.
-
Caso não seja possível conectar-se ao banco de dados de produção devido a uma exceção, execute as etapas a seguir para restaurar o serviço.
-
Pause a tarefa original do DTS.
Na página Data Synchronization Tasks, encontre a tarefa original do DTS.
À direita da tarefa, escolha .
Na caixa de diálogo Note, clique em OK.
Na caixa de diálogo Task Paused, clique em OK.
Alterne seus serviços para o banco de dados de recuperação de desastres.
-
Inicie a instância reversa.
Na página Data Synchronization Tasks, encontre a instância reversa recém-criada.
Na coluna Actions da instância de destino, escolha .
Na caixa de diálogo Note, clique em OK.
-
-
Após a restauração do banco de dados de produção, execute as etapas a seguir para alternar os serviços de volta para o banco de dados de produção e retomar as tarefas de sincronização.
Alterne seus serviços de volta para o banco de dados de produção original.
-
Aguarde até que a tarefa reversa não apresente latência e, em seguida, pause-a.
A tarefa reversa sincroniza os dados gravados no banco de dados de recuperação de desastres de volta para o banco de dados de produção.
Depois que a tarefa reversa for pausada, inicie a tarefa de sincronização direta original.
Cenário de alternância de serviço
-
Crie uma tarefa de sincronização reversa.
Na lista Data Synchronization Tasks, encontre a tarefa de sincronização direta (a tarefa original do DTS).
Na coluna Actions da instância de destino, escolha .
-
Na caixa de diálogo Note, clique em OK.
Aguarde a conclusão da pré-verificação da instância reversa; nesse momento, o Status muda para Performing Initial Synchronization.
NotaSe a opção Auto Refresh estiver desativada, clique manualmente no ícone
acima da coluna Actions para atualizar o Status da instância de sincronização.Se a pré-verificação falhar, clique em View Cause. Em seguida, clique em View Details no item de verificação com falha, corrija o problema conforme indicado e execute a pré-verificação novamente.
Após a criação da tarefa de sincronização reversa, nenhuma operação adicional é necessária.
-
Aguarde até que o módulo Incremental Data Collection esteja em execução com latência zero.
Clique em ID de uma tarefa de sincronização reversa. Na página Task Management, visualize o status e a latência do módulo na seção Progress.
-
Interrompa a gravação de dados de negócios.
Para evitar perda de dados, pare temporariamente seus serviços e garanta que nenhum novo dado seja gravado no banco de dados.
-
Pause a tarefa original do DTS.
Na página Data Synchronization Tasks, encontre a tarefa original do DTS.
À direita da tarefa, escolha .
Na caixa de diálogo Note, clique em OK.
Na caixa de diálogo Task Paused, clique em OK.
Alterne seus serviços para o banco de dados de destino da tarefa de sincronização direta.
-
Inicie a instância reversa.
Na página Data Synchronization Tasks, encontre a instância reversa recém-criada.
Na coluna Actions da instância de destino, escolha .
Na caixa de diálogo Note, clique em OK.
-
Finalize ou libere a tarefa de sincronização direta.
Para obter mais informações, consulte Encerrar uma tarefa do DTS e Liberar uma tarefa do DTS.
Perguntas frequentes
-
Como selecionar especificações ao criar uma tarefa de sincronização direta?
Selecione a menor especificação (micro). Após criar a tarefa reversa, atualize as especificações da tarefa com base no volume do seu serviço. Para obter mais informações, consulte Atualizar as especificações de link de uma tarefa.
-
O que fazer se uma tarefa do DTS estiver no estado Failed após a restauração do banco de dados de produção?
Inicie a tarefa do DTS. Para obter mais informações, consulte Iniciar uma tarefa do DTS.
> Create Reverse Task