Todos os produtos
Search
Central de documentação

Data Transmission Service:Sincronizar RDS SQL Server com RDS MySQL

Última atualização: Oct 12, 2026

O Data Transmission Service (DTS) sincroniza dados de uma instância do ApsaraDB RDS for SQL Server para uma instância do ApsaraDB RDS for MySQL.

Pré-requisitos

  • Uma instância do RDS SQL Server. Para ver as versões compatíveis, consulte {{XREF_0}}. Para criar uma instância, consulte {{XREF_1}}.

  • Uma instância de destino do ApsaraDB RDS for MySQL criada. Para mais informações, consulte {{XREF_2}}.

  • A instância de destino do ApsaraDB RDS for MySQL deve ter mais espaço de armazenamento do que a instância de ApsaraDB RDS for SQL Server de origem.

  • Recomendamos dividir uma tarefa de sincronização em várias tarefas se a instância de origem atender a qualquer uma das seguintes condições:

    • A instância de origem tem mais de 10 bancos de dados.

    • São executados backups de log mais de uma vez por hora para um único banco de dados.

    • Mais de 100 operações de Data Definition Language (DDL) são executadas por hora em um único banco de dados.

    • A taxa de geração de log para um único banco de dados excede 20 MB/s.

    • Você precisa ativar o change data capture (CDC) em mais de 1.000 tabelas.

Limitações

Nota
  • Durante a sincronização de schema, o DTS sincroniza chaves estrangeiras do banco de dados de origem para o banco de dados de destino.

  • Durante a sincronização completa e incremental de dados, o DTS desativa temporariamente as verificações de restrição e as operações de cascata de chave estrangeira no nível da sessão. Pode ocorrer inconsistência de dados se você executar operações de atualização ou exclusão em cascata no banco de dados de origem durante a execução da tarefa.

Tipo

Descrição

Limitações do banco de dados de origem

  • As tabelas para sincronização devem ter uma chave primária ou restrição única. Caso contrário, podem ocorrer dados duplicados no banco de dados de destino.

  • Se uma tarefa de sincronização de dados sincronizar mais de 5.000 tabelas no nível da tabela e exigir edições de objeto, como mapeamento de nomes de colunas, divida as tabelas em várias tarefas.

  • Uma única tarefa de sincronização de dados suporta no máximo 10 bancos de dados. Se você exceder esse limite, haverá riscos de problemas de estabilidade e desempenho. Nesse caso, divida as tabelas em várias tarefas.

  • Se você configurar uma tarefa para sincronizar objetos específicos em vez de um banco de dados inteiro, não será possível sincronizar objetos que tenham o mesmo nome de tabela, mas nomes de schema diferentes, para o mesmo banco de dados de destino dentro dessa tarefa.

  • O Data Transmission Service (DTS) usa a função fn_log para obter logs do banco de dados de origem. Essa função possui gargalos de desempenho. Não limpe os logs do banco de dados de origem prematuramente. Caso contrário, a tarefa pode falhar.

  • Logs de transação:

    • Ative os logs de transação, defina o modelo de recuperação como Full e certifique-se de que um backup físico completo foi concluído.

    • Para uma tarefa de sincronização incremental de dados, o DTS exige que os logs de transação no banco de dados de origem sejam retidos por pelo menos 24 horas. Para uma tarefa que inclui sincronização completa e incremental de dados, os logs de transação devem ser retidos por pelo menos 7 dias. Após a conclusão da sincronização completa de dados, você pode alterar o período de retenção para 24 horas ou mais. Se o DTS não conseguir obter os logs de transação porque o período de retenção é menor que o necessário, a tarefa pode falhar. Em casos extremos, isso pode levar à inconsistência ou perda de dados. Problemas decorrentes de um período de retenção de log menor que o exigido pelo DTS não são cobertos pelo acordo de nível de serviço (SLA).

  • Para ativar o Change Data Capture (CDC) para tabelas no banco de dados de origem, você deve atender às seguintes condições. Caso contrário, a pré-verificação falha.

    • O valor do campo srvname na view sys.sysservers deve ser igual ao valor retornado pela função SERVERPROPERTY.

    • Se o banco de dados de origem for um SQL Server autogerenciado, o proprietário do banco de dados deve ser sa. Se o banco de dados de origem for uma instância do ApsaraDB RDS for SQL Server, o proprietário do banco de dados deve ser sqlsa.

    • Se o banco de dados de origem for a Enterprise Edition, deve ser o SQL Server 2008 ou posterior.

    • Se o banco de dados de origem for a Standard Edition, deve ser o SQL Server 2016 SP1 ou posterior.

    • Se o banco de dados de origem for o SQL Server 2017 (Standard ou Enterprise Edition), atualize-o para uma versão posterior.

  • Se o banco de dados de origem for uma instância somente leitura, o DTS não sincroniza operações DDL.

  • Se o banco de dados de origem for um Azure SQL Database, uma única instância de sincronização pode sincronizar dados de apenas um banco de dados.

  • Se o banco de dados de origem for uma instância do ApsaraDB RDS for SQL Server, desative o recurso Transparent Data Encryption (TDE) para garantir a estabilidade da instância de sincronização. Para mais informações, consulte {{XREF_3}}.

  • No modo de análise de log híbrido, você não pode executar várias operações para adicionar ou remover colunas em rápida sucessão (com menos de 10 minutos de intervalo). Por exemplo, executar as seguintes instruções SQL consecutivamente fará com que a tarefa falhe.

    ALTER TABLE test_table DROP COLUMN Flag;
    ALTER TABLE test_table ADD Remark nvarchar(50) not null default('');
  • Se você usar o comando sp_rename para modificar os nomes de objetos, como stored procedures, no banco de dados de origem antes da execução da tarefa de sincronização de schema, a tarefa poderá produzir resultados inesperados ou falhar.

    Nota

    Recomendamos o uso do comando ALTER para renomear objetos no banco de dados.

  • Não execute operações DDL que alterem schemas de banco de dados ou tabelas durante a sincronização de schema ou a sincronização completa. Caso contrário, a tarefa de sincronização falhará.

    Nota

    Durante a sincronização completa, o DTS consulta o banco de dados de origem. Isso cria bloqueios de metadados que podem impedir operações DDL no banco de dados de origem.

  • Se o banco de dados de origem for uma Web Edition do ApsaraDB RDS for SQL Server, você deve selecionar Incremental Synchronization Based on Logs of Source Database (Heap tables are not supported) para SQL Server Incremental Synchronization Mode ao configurar a tarefa.

  • Recomendamos manter o parâmetro de modo de processamento de transação READ_COMMITTED_SNAPSHOT ativado para o banco de dados de origem durante uma tarefa de sincronização completa de dados, a fim de evitar que bloqueios compartilhados afetem as gravações de dados. Caso contrário, podem ocorrer problemas como inconsistência de dados e falhas na instância. Quaisquer exceções resultantes não são cobertas pelo SLA do DTS.

Outras limitações

  • Requisitos para objetos sincronizados:

    • O DTS suporta inicialização de schema para objetos de banco de dados, schema e tabela.

    • Não há suporte para sincronização de dados que usam os tipos de dados CURSOR, ROWVERSION, SQL_VARIANT, HIERARCHYID, POLYGON, GEOMETRY ou GEOGRAPHY, nem para tipos definidos pelo usuário criados com o comando CREATE TYPE.

    • O DTS não suporta a sincronização dos seguintes objetos: PROCEDURE, FUNCTION, TRIGGER, DATATYPE, SYNONYM, CATALOG, PLAN_GUIDE e SEQUENCE.

  • Se seus dados incluírem caracteres de quatro bytes — como caracteres chineses raros ou emojis —, o banco de dados e a tabela de destino devem usar o conjunto de caracteres utf8mb4.

    Nota

    Se você usar o DTS para sincronizar schemas de tabelas, defina o parâmetro character_set_server no nível da instância no banco de dados de destino como utf8mb4.

  • Se você selecionar Incremental Synchronization Based on Logs of Source Database (Heap tables are not supported) para SQL Server Incremental Synchronization Mode na etapa Configure Objects, as tabelas sincronizadas deverão ter um índice clusterizado que inclua as colunas de chave primária. Não há suporte para tabelas heap, tabelas sem chaves primárias, tabelas compactadas, tabelas com colunas computadas e tabelas com colunas esparsas. Essas limitações não se aplicam no modo de análise de log híbrido.

    Nota

    Para obter informações sobre como verificar esses tipos de tabela, consulte {{XREF_4}}.

  • Se você selecionar Log-based Parsing for Non-heap Tables and CDC-based Incremental Synchronization for Heap Tables (Hybrid Log-based Parsing) para SQL Server Incremental Synchronization Mode na etapa Configure Objects, as seguintes limitações também se aplicam:

    • A sincronização incremental de dados no DTS depende do componente CDC. Certifique-se de que os jobs do CDC no banco de dados de origem estejam em execução correta. Caso contrário, a tarefa do DTS falhará.

    • Por padrão, o componente CDC armazena dados incrementais por 3 dias. Você pode usar o comando exec console.sys.sp_cdc_change_job @job_type = 'cleanup', @retention= <time>; para ajustar o período de retenção conforme necessário.

      Nota
      • <time> especifica o tempo em minutos.

      • Se uma única tabela no banco de dados de origem gerar mais de 10 milhões de instruções SQL de alteração incremental por dia em média, recomendamos definir <time> como 1440.

    • A pré-verificação do DTS para uma tarefa de sincronização incremental de dados ativa o CDC no banco de dados e nas tabelas de origem. Devido a limitações no mecanismo de banco de dados SQL Server, esse processo pode causar bloqueios breves no banco de dados de origem.

    • Em uma única tarefa de sincronização de dados, ative o CDC em no máximo 1.000 tabelas. Exceder esse limite pode causar latência ou instabilidade na tarefa.

  • Se você selecionar Polling and querying CDC instances for incremental synchronization para SQL Server Incremental Synchronization Mode na etapa Configure Objects, as seguintes limitações também se aplicam:

    • A conta do banco de dados de origem usada pela instância do DTS deve ter permissões para ativar o CDC. É necessária uma conta com a função sysadmin para ativar o CDC no nível do banco de dados. É necessária uma conta com altos privilégios para ativar o CDC no nível da tabela.

      Nota
      • A conta de mais alto privilégio (administrador do servidor) fornecida no console do Azure SQL Database atende a esse requisito. Para bancos de dados que usam o modelo de compra baseado em vCore, todas as camadas de serviço suportam CDC. Para bancos de dados que usam o modelo de compra baseado em DTU, a camada de serviço deve ser S3 ou superior para suportar CDC.

      • A conta de alto privilégio para o Amazon RDS for SQL Server atende a esse requisito e suporta a ativação do CDC no nível do banco de dados para stored procedures.

      • Não há suporte para CDC em tabelas com índices columnstore clusterizados.

      • A pré-verificação do DTS para uma tarefa de sincronização incremental de dados ativa o CDC no banco de dados e nas tabelas de origem. Devido a limitações no mecanismo de banco de dados SQL Server, esse processo pode causar bloqueios breves no banco de dados de origem.

    • O DTS consulta a instância do CDC para cada tabela no banco de dados de origem para obter dados incrementais. Portanto, sincronize no máximo 1.000 tabelas. Caso contrário, a tarefa pode sofrer latência ou instabilidade.

    • Os dados incrementais armazenados pelo componente CDC são retidos por 3 dias por padrão. Recomendamos executar o comando exec console.sys.sp_cdc_change_job @job_type = 'cleanup', @retention= <time>; para definir um período de retenção adequado.

    • Nota
      • <time> especifica o tempo em minutos.

      • Se o número médio diário de instruções SQL de alteração incremental para uma única tabela no banco de dados de origem exceder 10 milhões, recomendamos definir <time> como 1440.

    • Não há suporte para a execução de operações DDL consecutivas para adicionar ou remover colunas (mais de duas dessas operações em um minuto), o que pode causar falha na tarefa.

    • Não há suporte para a modificação da instância do CDC no banco de dados de origem, o que pode causar falha na tarefa ou perda de dados.

  • O DTS não suporta a sincronização de operações DDL complexas.

  • Para garantir o monitoramento preciso da latência na sincronização incremental de dados, o DTS cria objetos específicos no banco de dados de origem com base no modo selecionado. No modo de análise de log, o DTS cria o trigger dts_cdc_sync_ddl, a tabela de heartbeat dts_sync_progress e a tabela de histórico DDL dts_cdc_ddl_history. No modo híbrido, o DTS cria o trigger dts_cdc_sync_ddl, a tabela de heartbeat dts_sync_progress e a tabela de histórico DDL dts_cdc_ddl_history, e também ativa o CDC no nível do banco de dados e para algumas tabelas. A taxa de alteração de dados nas tabelas com CDC ativado não deve exceder 1.000 RPS.

  • Antes de iniciar uma tarefa de sincronização de dados, avalie o desempenho dos bancos de dados de origem e de destino. Além disso, execute a tarefa fora dos horários de pico. A inicialização completa de dados consome recursos de leitura e gravação nos bancos de dados de origem e de destino, o que pode aumentar a carga do banco de dados.

  • A inicialização completa de dados executa operações INSERT simultâneas, o que pode causar fragmentação nas tabelas do banco de dados de destino. Como resultado, o espaço da tabela na instância de destino pode ser maior do que na instância de origem após a inicialização.

  • Durante a sincronização do DTS, não grave dados no banco de dados de destino a partir de nenhuma origem que não seja o DTS. Isso pode causar inconsistência de dados entre a origem e o destino. Por exemplo, usar o DMS para realizar alterações DDL online enquanto outros dados estão sendo gravados no destino pode causar perda de dados no banco de dados de destino.

  • Não reconstrua índices durante a sincronização. Isso pode causar falha na tarefa ou até mesmo perda de dados.

    Nota

    Você não pode executar operações DDL relacionadas à chave primária em uma tabela para a qual o CDC está ativado.

  • Se o número de tabelas com CDC ativado em uma única tarefa de sincronização de dados exceder The maximum number of tables for which CDC is enabled that DTS supports., a pré-verificação falhará.

  • Se você precisar gravar mais de 64 KB de dados em um único campo em uma tabela com CDC ativado, deverá usar o comando exec sp_configure 'max text repl size', -1; para ajustar a configuração do banco de dados de origem antecipadamente.

    Nota

    Por padrão, o tamanho máximo de um único campo que um job do CDC pode processar é de 64 KB.

  • Se uma instrução DDL falhar ao ser gravada no banco de dados de destino, a tarefa do DTS continuará em execução. Você deve verificar os logs da tarefa para visualizar a instrução DDL com falha. Para mais informações sobre como visualizar os logs da tarefa, consulte {{XREF_5}}.

  • Se você gravar colunas com nomes que diferem apenas em maiúsculas e minúsculas na mesma tabela no banco de dados MySQL de destino, podem ocorrer resultados inesperados, pois os nomes de colunas do MySQL não diferenciam maiúsculas de minúsculas.

  • Após a conclusão da sincronização de dados (o Status da instância é Completed), você deve usar o comando ANALYZE TABLE <table_name> para confirmar se todos os dados foram gravados na tabela de destino. Por exemplo, após o acionamento do mecanismo de failover de HA no banco de dados MySQL de destino, os dados podem ser gravados apenas na memória, o que pode causar perda de dados.

  • Se você usar o recurso Modify Objects to be Synchronized, não poderá remover bancos de dados da tarefa.

  • Várias instâncias de sincronização que usam o mesmo banco de dados SQL Server como origem possuem módulos independentes de captura de dados incrementais.

  • Se uma tarefa falhar, a equipe de suporte do DTS tentará restaurá-la em até oito horas. Durante a restauração, eles podem reiniciar a tarefa ou ajustar seus parâmetros.

    Nota

    Apenas os parâmetros da tarefa do DTS são modificados, não os parâmetros do banco de dados. Os parâmetros que podem ser ajustados incluem aqueles listados em {{XREF_6}}.

  • O SQL Server é um banco de dados comercial e de código fechado. Devido a características conhecidas ou desconhecidas de seu formato de log, podem surgir problemas durante a captura de dados de alterações incrementais (CDC) e a análise pelo DTS. Antes de usar o DTS para sincronização incremental ou migração de uma origem SQL Server em um ambiente de produção, realize testes abrangentes de prova de conceito (POC). Seus testes devem cobrir todos os cenários de alteração de negócios, modificações de schema e testes de estresse de carga máxima. Garantir que a lógica de negócios de sua produção seja idêntica à testada na fase de POC é fundamental para a operação estável e eficiente do DTS.

  • O DTS não suporta transações com rollback parcial na origem durante a sincronização incremental. Isso pode causar a perda da operação de rollback.

Casos especiais

Quando a instância de origem é um ApsaraDB RDS for SQL Server, o DTS cria uma conta rdsdt_dtsacct na instância de origem para sincronização de dados. Não exclua esta conta nem altere sua senha enquanto a tarefa estiver em execução, caso contrário, a tarefa poderá falhar. Para mais informações, consulte {{XREF_7}}.

Faturamento

Tipo de sincronização

Preço

Sincronização de schema e sincronização completa de dados

Gratuito.

Sincronização incremental de dados

Cobrado. Para mais informações, consulte {{XREF_8}}.

Topologias de sincronização

  • Sincronização unidirecional um para um

  • Sincronização unidirecional um para muitos

  • Sincronização unidirecional muitos para um

Para uma introdução a essas topologias de sincronização e seu uso, consulte {{XREF_9}}.

Operações SQL suportadas

Tipo de operação

Instrução SQL

DML

INSERT, UPDATE e DELETE

Nota

O DTS não sincroniza instruções UPDATE que atualizam apenas um campo grande.

DDL

  • CREATE TABLE

  • ALTER TABLE (apenas ADD COLUMN e DROP COLUMN)

  • DROP TABLE

  • CREATE INDEX e DROP INDEX

Nota
  • Não há suporte para operações DDL que contenham tipos definidos pelo usuário.

  • Não há suporte para operações DDL online.

  • Não há suporte para operações DDL transacionais. Por exemplo, adicionar várias colunas em uma única instrução SQL ou misturar operações DDL e DML pode causar perda de dados.

  • Não há suporte para operações DDL que usam uma palavra-chave reservada como nome de atributo.

  • Não há suporte para operações DDL executadas por uma stored procedure do sistema.

  • O DTS não sincroniza operações TRUNCATE TABLE.

  • Não há suporte para tabelas particionadas e tabelas definidas com funções.

Permissões necessárias para contas de banco de dados

Instância de banco de dados

Permissões necessárias

Ações

Instância de origem do ApsaraDB RDS for SQL Server

Permissões de proprietário nos objetos a serem sincronizados.

{{XREF_10}} e {{XREF_11}}.

Instância de destino do ApsaraDB RDS for MySQL

Permissões de leitura e gravação no banco de dados de destino.

{{XREF_12}} e {{XREF_13}}.

Procedimento

  1. Acesse a página da lista de tarefas de sincronização da região de destino. Você pode usar um dos dois métodos a seguir:

    Pelo console do DTS

    1. Faça login no Data Transmission Service (DTS) console.

    2. No painel de navegação à esquerda, clique em Data Synchronization.

    3. No canto superior esquerdo da página, selecione a região onde a instância de sincronização está localizada.

    Pelo console do DMS

    Nota

    As operações reais podem variar com base no modo e no layout do console do DMS. Para mais informações, consulte {{XREF_14}} e {{XREF_15}}.

    1. Faça login no Data Management (DMS).

    2. Na barra de menu superior, escolha Data + AI > Data Transmission (DTS) > Data Synchronization.

    3. À direita de Data Synchronization Tasks, selecione a região onde a instância de sincronização está localizada.

  2. Clique em Create Task para abrir a página de configuração da tarefa.

  3. Configure os bancos de dados de origem e de destino.

    Categoria

    Parâmetro

    Descrição

    N/D

    Task Name

    O DTS gera automaticamente um nome de tarefa. Recomendamos especificar um nome descritivo para fácil identificação. O nome não precisa ser único.

    Source Database

    Database Type

    Selecione SQL Server.

    Connection Type

    Selecione Alibaba Cloud Instance.

    Instance Region

    Selecione a região da instância de origem do ApsaraDB RDS for SQL Server.

    Replicate Data Across Alibaba Cloud Accounts

    Para este exemplo, estamos sincronizando dados na mesma conta Alibaba Cloud. Selecione No.

    Instance ID

    Selecione o ID da instância de origem do ApsaraDB RDS for SQL Server.

    Database Account

    Insira a conta do banco de dados da instância de origem do ApsaraDB RDS for SQL Server. A conta deve ter permissões de proprietário nos objetos a serem sincronizados.

    Database Password

    Insira a senha correspondente à conta do banco de dados.

    Encryption

    Selecione Non-encrypted ou SSL-encrypted.

    • Se a criptografia SSL não estiver ativada para o banco de dados de origem, selecione Non-encrypted.

    • Se a criptografia SSL estiver ativada para o banco de dados de origem, selecione SSL-encrypted. O DTS confia no certificado do servidor por padrão.

    Destination Database

    Database Type

    Selecione MySQL.

    Connection Type

    Selecione Alibaba Cloud Instance.

    Instance Region

    Selecione a região da instância de destino do ApsaraDB RDS for MySQL.

    Replicate Data Across Alibaba Cloud Accounts

    Para este exemplo, estamos sincronizando dados na mesma conta Alibaba Cloud. Selecione No.

    RDS Instance ID

    Selecione o ID da instância de destino do ApsaraDB RDS for MySQL.

    Database Account

    Insira a conta do banco de dados da instância de destino do ApsaraDB RDS for MySQL. A conta deve ter permissões de leitura e gravação.

    Database Password

    Insira a senha correspondente à conta do banco de dados.

    Connection Method

    Selecione Non-encrypted ou SSL-encrypted conforme necessário. Se você selecionar SSL-encrypted, deverá ativar a criptografia SSL para a instância do RDS for MySQL antecipadamente. Para mais informações, consulte {{XREF_16}}.

  4. Após concluir a configuração, clique em Test Connectivity and Proceed na parte inferior da página.

    Nota
    • Certifique-se de que os blocos CIDR de endereços IP dos servidores do DTS foram adicionados às configurações de segurança dos bancos de dados de origem e de destino para permitir o acesso dos servidores do DTS. Isso pode ser feito automática ou manualmente. Para mais informações, consulte {{XREF_17}}.

    • Se o banco de dados de origem ou de destino for um banco de dados autogerenciado (onde o Access Method não é Alibaba Cloud Instance), você também deve clicar em Test Connectivity na caixa de diálogo CIDR Blocks of DTS Servers.

  5. Configure os objetos da tarefa.

    1. Na página Configure Objects, configure os objetos a serem sincronizados.

      Parâmetro

      Descrição

      Synchronization Types

      Incremental Data Synchronization está selecionado. Por padrão, você também deve selecionar Schema Synchronization e Full Data Synchronization. Após a conclusão da pré-verificação, o DTS executa uma sincronização completa de dados dos objetos selecionados da instância de origem para o cluster de destino. Isso serve como dados de linha de base para a sincronização incremental de dados subsequente.

      Schema Mapping Mode of Source and Destination Databases

      Selecione um modo de mapeamento de schema com base nas necessidades do seu negócio para mapear schemas entre os bancos de dados de origem e de destino.

      Aviso

      Vários schemas no banco de dados de origem não podem ter tabelas com o mesmo nome. Caso contrário, podem ocorrer inconsistência de dados ou falha na tarefa.

      SQL Server Incremental Synchronization Mode

      • Log-based Parsing for Non-heap Tables and CDC-based Incremental Synchronization for Heap Tables (Hybrid Log-based Parsing):

        • Vantagens:

          • Suporta cenários com tabelas heap, tabelas sem chaves primárias, tabelas compactadas e tabelas com colunas computadas no banco de dados de origem.

          • Alta estabilidade de link. Este modo pode obter instruções DDL completas e fornece suporte abrangente para cenários DDL.

        • Desvantagens:

          • O DTS cria um trigger dts_cdc_sync_ddl, uma tabela de heartbeat dts_sync_progress e uma tabela de armazenamento DDL dts_cdc_ddl_history no banco de dados de origem. Ele também ativa o CDC no nível do banco de dados e para algumas tabelas.

          • Você não pode executar instruções SELECT INTO, TRUNCATE, RENAME COLUMN ou de modificação de tipo de coluna em tabelas que têm o CDC ativado no banco de dados de origem. O trigger criado pelo DTS no banco de dados de origem não pode ser excluído manualmente.

            Nota

            Tabelas que contêm tipos geometry, geography ou hierarchyid não suportam a ativação do CDC.

      • Incremental Synchronization Based on Logs of Source Database (Heap tables are not supported):

        • Vantagens:

          Este modo não é intrusivo para o banco de dados de origem.

        • Desvantagens:

          Não suporta cenários com tabelas heap, tabelas sem chaves primárias, tabelas compactadas ou tabelas com colunas computadas no banco de dados de origem.

      • Polling and querying CDC instances for incremental synchronization:

        • Vantagens:

          • Suporta sincronização completa e incremental quando o banco de dados de origem é Amazon RDS for SQL Server, Azure SQL Database, Azure SQL Managed Instance, Azure SQL Server on Virtual Machine ou Google Cloud SQL for SQL Server.

          • Este modo usa o componente nativo Change Data Capture (CDC) do SQL Server para obter dados incrementais. Isso torna a sincronização incremental mais estável e consome menos largura de banda de rede.

        • Desvantagens:

          • A conta do banco de dados de origem usada pela instância do DTS deve ter permissão para ativar o CDC. Existe um atraso de aproximadamente 10 segundos para a sincronização incremental de dados.

          • Em cenários que envolvem a sincronização de vários bancos de dados e tabelas, pode haver riscos de problemas de estabilidade e desempenho.

      The maximum number of tables for which CDC is enabled that DTS supports.

      Esta configuração limita o número de tabelas nas quais o CDC pode ser ativado dentro da instância de sincronização atual. O valor padrão é 1.000.

      Nota

      Este parâmetro não está disponível se você definir SQL Server Incremental Synchronization Mode como Incremental Synchronization Based on Logs of Source Database (Heap tables are not supported).

      Processing Mode of Conflicting Tables

      • Precheck and Report Errors: Verifica se existe uma tabela com o mesmo nome no banco de dados de destino. Se não existir, a pré-verificação é aprovada. Se existir, a pré-verificação falha e a tarefa de sincronização de dados não inicia.

        Nota

        Se você não puder excluir ou renomear a tabela com o mesmo nome no banco de dados de destino, poderá mapeá-la para um nome de tabela diferente. Para mais informações, consulte {{XREF_18}}.

      • Ignore Errors and Proceed: Ignora a verificação de nomes de tabela duplicados no banco de dados de destino.

        Aviso

        Selecionar Ignore Errors and Proceed pode causar inconsistência de dados e colocar seu negócio em risco. Por exemplo:

        • Se os schemas das tabelas forem iguais e um registro no banco de dados de destino tiver o mesmo valor de chave primária ou única que um registro no banco de dados de origem:

          • Durante a sincronização completa, o DTS mantém o registro no cluster de destino. O registro correspondente do banco de dados de origem não é sincronizado.

          • Durante a sincronização incremental, o registro do banco de dados de origem substitui o registro no banco de dados de destino.

        • Se os schemas das tabelas forem diferentes, a sincronização inicial de dados pode falhar. Isso pode resultar na sincronização de apenas dados parciais de colunas ou em uma falha completa de sincronização. Prossiga com cautela.

      Capitalization of Object Names in Destination Instance

      Você pode configurar a política de diferenciação de maiúsculas e minúsculas para nomes de objetos de banco de dados, tabelas e colunas que são sincronizados com a instância de destino. Por padrão, a DTS default policy está selecionada. Você também pode optar por usar as políticas padrão dos bancos de dados de origem e de destino. Para mais informações, consulte {{XREF_19}}.

      Source Objects

      Na caixa Source Objects, clique em um objeto a ser sincronizado e, em seguida, clique em 向右 para movê-lo para a caixa Selected Objects.

      Nota

      Você pode selecionar objetos no nível do banco de dados, tabela ou coluna. Se você selecionar tabelas ou colunas como objetos de sincronização, outros objetos, como views, triggers e stored procedures, não serão sincronizados com o banco de dados de destino.

      Selected Objects

      • Para renomear um único objeto de sincronização na instância de destino, clique com o botão direito do mouse no objeto na caixa Selected Objects. Para mais informações sobre como renomear objetos, consulte {{XREF_20}}.

      • Para alterar os nomes de vários objetos de sincronização na instância de destino em lote, clique em Batch Edit no canto superior direito da caixa Selected Objects. Para mais informações, consulte {{XREF_21}}.

      Nota
      • Para selecionar as operações SQL a serem sincronizadas para um banco de dados ou tabela específica, clique com o botão direito do mouse no objeto na caixa Selected Objects e selecione as operações SQL desejadas na caixa de diálogo que aparece.

      • Para filtrar dados usando condições WHERE, clique com o botão direito do mouse na tabela a ser sincronizada na caixa Selected Objects e especifique as condições de filtro na caixa de diálogo que aparece. Para mais informações, consulte {{XREF_22}}.

      • Se você renomear um objeto, os objetos dependentes poderão falhar na sincronização.

    2. Clique em Next: Advanced Settings para configurar parâmetros avançados.

      Parâmetro

      Descrição

      Dedicated Cluster for Task Scheduling

      Por padrão, o DTS agenda tarefas em um cluster compartilhado, e você não precisa selecionar um cluster. Para um desempenho mais estável, você pode adquirir um cluster dedicado para executar tarefas de sincronização do DTS. Para mais informações, consulte {{XREF_23}}.

      Retry Time for Failed Connections

      Após o início de uma tarefa de sincronização, se a conexão com o banco de dados de origem ou de destino falhar, o DTS relatará um erro e iniciará imediatamente a tentativa de reconexão. A duração padrão de nova tentativa é de 720 minutos. Você também pode especificar uma duração personalizada de 10 a 1.440 minutos. Recomendamos definir a duração para 30 minutos ou mais. Se o DTS se reconectar com sucesso ao banco de dados dentro da duração especificada, a tarefa de sincronização será retomada automaticamente. Caso contrário, a tarefa falhará.

      Nota
      • Se você tiver várias instâncias do DTS (por exemplo, Instância A e Instância B) que compartilham a mesma origem ou destino, e definir o tempo de nova tentativa de rede como 30 minutos para a Instância A e 60 minutos para a Instância B, a duração mais curta de 30 minutos será usada para ambas.

      • Como o DTS cobra pelo tempo de execução da tarefa durante o período de nova tentativa de conexão, recomendamos personalizar a duração da nova tentativa com base nas necessidades do seu negócio ou liberar a instância do DTS o mais rápido possível após a liberação das instâncias de banco de dados de origem e de destino.

      Retry Time for Other Issues

      Após o início da tarefa de sincronização, se ocorrerem outros problemas de não conectividade com o banco de dados de origem ou de destino (como exceções de execução DDL ou DML), o DTS relatará um erro e iniciará imediatamente operações contínuas de nova tentativa. A duração padrão de nova tentativa é de 10 minutos. Você também pode personalizar a duração da nova tentativa dentro do intervalo de 1 a 1.440 minutos. Recomendamos definir para 10 minutos ou mais. Se as operações relevantes forem bem-sucedidas dentro da duração de nova tentativa definida, a tarefa de sincronização será retomada automaticamente. Caso contrário, a tarefa falhará.

      Importante

      O valor para Retry Time for Other Issues deve ser menor que o valor para Retry Time for Failed Connections.

      Enable Throttling for Full Data Synchronization

      Durante a etapa de sincronização completa, o DTS consome recursos de leitura e gravação dos bancos de dados de origem e de destino, o que pode aumentar a carga do banco de dados. Para reduzir a carga nos bancos de dados de origem e de destino, você pode definir um limite de taxa para a tarefa de sincronização completa configurando os parâmetros Queries per second (QPS) to the source database, RPS of Full Data Migration e Data migration speed for full migration (MB/s).

      Nota
      • Este item de configuração está disponível apenas quando Synchronization Types está definido como Full Data Synchronization.

      • Você também pode {{XREF_24}} após a instância de sincronização estar em execução.

      Enable Throttling for Incremental Data Synchronization

      Você também pode definir um limite de taxa para a tarefa de sincronização incremental. Para aliviar a pressão no banco de dados de destino, defina RPS of Incremental Data Synchronization e Data synchronization speed for incremental synchronization (MB/s).

      Environment Tag

      Você pode selecionar uma tag de ambiente para identificar a instância. Neste exemplo, nenhuma tag é selecionada.

      Configure ETL

      Escolha se deseja ativar o recurso de extração, transformação e carga (ETL). Para mais informações, consulte {{XREF_25}} Valores válidos:

      • Yes: Ativa o recurso ETL. Insira instruções de processamento de dados no editor de código. Para mais informações, consulte {{XREF_26}}.

      • No: Desativa o recurso ETL.

      Monitoring and Alerting

      Especifique se deseja configurar alertas. Se a sincronização falhar ou a latência exceder o limiar especificado, uma notificação será enviada para um contato de alerta.

      • No: Nenhum alerta é configurado.

      • Yes: Configure alertas definindo um limiar de alerta e especificando um notificação de alerta. Para mais informações, consulte {{XREF_27}}.

    3. Clique em Next: Data Validation para configurar uma tarefa de validação de dados.

      Se você quiser usar o recurso de validação de dados, consulte {{XREF_28}} para obter instruções de configuração.

  6. Salve a tarefa e execute uma pré-verificação.

    • Para visualizar os parâmetros da API para configurar esta instância, passe o mouse sobre o botão Next: Save Task Settings and Precheck e clique em Preview OpenAPI parameters na dica.

    • Se você terminou de visualizar os parâmetros da API, clique em Next: Save Task Settings and Precheck na parte inferior da página.

    Nota
    • Antes do início do job de sincronização, o DTS executa uma pré-verificação. O job só pode iniciar após a aprovação de todos os itens de pré-verificação.

    • Se a pré-verificação falhar, clique em View Details para o item com falha. Corrija o problema conforme instruído e, em seguida, execute a pré-verificação novamente.

    • Se a pré-verificação retornar um aviso:

      • Se um item de verificação falhar e não puder ser ignorado, clique em View Details ao lado do item. Siga as instruções para corrigir o problema e, em seguida, execute a pré-verificação novamente.

      • Para itens de verificação que podem ser ignorados, você pode clicar em Confirm Alert Details, Ignore, OK e Precheck Again em sequência para ignorar o aviso e executar a pré-verificação novamente. Se você optar por ocultar o item de aviso, isso pode causar problemas como inconsistência de dados e apresentar riscos ao seu negócio.

  7. Adquira a instância.

    1. Quando a Success Rate for de 100%, clique em Next: Purchase Instance.

    2. Na página Purchase, selecione o método de faturamento e a especificação de link para a instância de sincronização de dados. A tabela a seguir descreve esses parâmetros em detalhes.

      Categoria

      Parâmetro

      Descrição

      New Instance Class

      Método de faturamento

      • Assinatura: Você paga ao criar a instância. Isso é adequado para necessidades de longo prazo e é mais econômico que o pagamento conforme o uso. Quanto maior a duração da assinatura, maior o desconto.

      • Pagamento conforme o uso: Você é cobrado por hora. Isso é adequado para necessidades de curto prazo. Você pode liberar a instância imediatamente após o uso para economizar custos.

      Configuração do grupo de recursos

      O grupo de recursos ao qual a instância pertence. O padrão é o grupo de recursos padrão. Para mais informações, consulte {{XREF_29}}.

      Especificação do link

      O DTS fornece especificações de sincronização com diferentes níveis de desempenho. A especificação do link de sincronização afeta a taxa de sincronização. Você pode escolher uma especificação com base no seu cenário de negócio. Para mais informações, consulte {{XREF_30}}.

      Duração da assinatura

      No modo de assinatura, selecione a duração e a quantidade para a instância de assinatura. Você pode escolher uma assinatura mensal de 1 a 9 meses, ou uma assinatura anual de 1, 2, 3 ou 5 anos.

      Nota

      Esta opção está disponível apenas quando o método de faturamento é Subscription.

    3. Após concluir a configuração, leia e selecione Data Transmission Service (Pay-as-you-go) Service Terms.

    4. Clique em Buy and Start. Na caixa de diálogo OK, clique em OK.

      Você pode visualizar o progresso da tarefa na página Data Synchronization.