Todos os produtos
Search
Central de documentação

Data Transmission Service:Sincronizar um SQL Server autogerenciado com o AnalyticDB for PostgreSQL

Última atualização: Sep 23, 2026

O Data Transmission Service (DTS) permite sincronizar dados de um SQL Server autogerenciado com o AnalyticDB for PostgreSQL para análise de dados em tempo real.

Pré-requisitos

  • O banco de dados SQL Server autogerenciado deve ser uma versão compatível. Para mais informações, consulte Visão geral das soluções de sincronização.

  • Crie uma instância de destino do AnalyticDB for PostgreSQL. Para instruções, consulte Criar uma instância.

  • A instância de destino do AnalyticDB for PostgreSQL deve ter mais espaço de armazenamento do que o banco de dados SQL Server autogerenciado de origem.

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

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

    • Os backups de log são realizados mais de uma vez por hora em 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 ultrapassa 20 MB/s.

    • É necessário ativar o change data capture (CDC) em mais de 1.000 tabelas.

Limitações

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

  • Durante a sincronização completa de dados e a sincronização incremental de dados, o DTS desabilita temporariamente as verificações de restrição e as operações de cascade de chaves estrangeiras no nível de sessão. Podem ocorrer inconsistências nos dados caso operações de atualização ou exclusão em cascade sejam realizadas no banco de dados de source enquanto a tarefa estiver em execução.

Tipo

Descrição

Limitações do banco de dados de origem

  • As tabelas a serem sincronizadas devem ter uma chave primária ou restrição de unicidade. Caso contrário, dados duplicados podem aparecer no banco de dados de destino.

  • Se uma tarefa de sincronização de dados sincronizar mais de 5.000 tabelas no nível de tabela e exigir edições de objetos, como mapeamento de nomes de colunas, divida as tabelas em múltiplas tarefas.

  • Uma única tarefa de sincronização de dados suporta no máximo 10 bancos de dados. Exceder esse limite pode comprometer a estabilidade e o desempenho. Nesse caso, divida as tabelas em múltiplas tarefas.

  • Ao configurar uma tarefa para sincronizar objetos específicos em vez de um banco de dados inteiro, não é possível sincronizar objetos com o mesmo nome de tabela, mas com 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 apresenta 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 tenha sido concluído.

    • Para uma tarefa de sincronização de dados incremental, o DTS exige que os logs de transação do banco de dados de origem sejam retidos por pelo menos 24 horas. Para uma tarefa que inclui sincronização de dados completa e sincronização de dados incremental, os logs de transação devem ser retidos por pelo menos 7 dias. Após a conclusão da sincronização completa, o período de retenção pode ser reduzido para 24 horas ou mais. Se o DTS não conseguir obter os logs de transação porque o período de retenção for inferior ao exigido, a tarefa pode falhar. Em casos extremos, isso pode resultar em inconsistência ou perda de dados. Problemas decorrentes de um período de retenção de log inferior ao requisito do DTS não são cobertos pelo contrato de nível de service (SLA).

  • Para ativar o Change Data Capture (CDC) nas tabelas do banco de dados de origem, as seguintes condições devem ser atendidas. Caso contrário, a verificação prévia falha.

    • O valor do campo srvname na view sys.sysservers deve ser igual ao valor de retorno da 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 for uma instância ApsaraDB RDS for SQL Server, o proprietário deve ser sqlsa.

    • Se o banco de dados de origem for Enterprise Edition, a versão mínima exigida é SQL Server 2008.

    • Se o banco de dados de origem for Standard Edition, a versão mínima exigida é SQL Server 2016 SP1.

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

  • Quando o banco de dados de origem é uma instância somente leitura, as operações DDL não são sincronizadas.

  • Quando o banco de dados de origem é um Azure SQL Database, uma única instância de sincronização consegue sincronizar dados de apenas um banco de dados.

  • Se o banco de dados de origem for uma instância 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 Disable TDE.

  • O uso do comando sp_rename para modificar nomes de objetos — como stored procedures — no banco de dados de origem antes da execução da tarefa de sincronização de schema pode gerar resultados inesperados ou causar falha na tarefa.

    Nota

    Recomenda-se utilizar o comando ALTER para renomear objetos no banco de dados.

  • No modo de análise de log híbrido, não execute múltiplas operações de adição ou remoção de colunas em rápida sucessão (intervalo inferior a 10 minutos). Por exemplo, executar consecutivamente as instruções SQL a seguir causará falha na tarefa.

    ALTER TABLE test_table DROP COLUMN Flag;
    ALTER TABLE test_table ADD Remark nvarchar(50) not null default('');
  • 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 falha.

    Nota

    Durante a sincronização completa, o DTS consulta o banco de dados de origem, criando bloqueios de metadados que podem bloquear operações DDL nesse banco de dados.

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

  • Recomenda-se manter o parâmetro de modo de processamento de transações READ_COMMITTED_SNAPSHOT ativado no banco de dados de origem durante uma tarefa de sincronização de dados completa, 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. As exceções resultantes não são cobertas pelo DTS SLA.

Outras limitações

  • Requisitos para objetos sincronizados:

    • A inicialização de schema é compatível com os objetos Schema, Table, View, Function e Procedure.

      Aviso

      Como este cenário envolve sincronização de dados entre bancos de dados heterogêneos, os tipos de dados podem não ter correspondência um a um. Isso pode causar falha na tarefa ou perda de dados. Avalie com atenção o impacto do mapeamento de tipos de dados no negócio. Para mais informações, consulte Mapeamentos de tipos de dados para inicialização de schema.

    • O DTS não é compatível com a inicialização de schema para os seguintes objetos: assemblies, service broker, índices de texto completo, catálogos de texto completo, schemas distribuídos, funções distribuídas, stored procedures CLR, funções escalares CLR, funções com valor de tabela CLR, tabelas internas, objetos do sistema e funções de agregação.

    • Não há suporte para sincronização de dados que utilizem os tipos 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 é compatível com a sincronização de tabelas que contenham colunas computadas.

    • O DTS não é compatível com a sincronização dos seguintes objetos: INDEX, VIEW, PROCEDURE, FUNCTION, TRIGGER, FK, FULL_TEXT_INDEX, DATATYPE, DEFAULT, SYNONYM, CATALOG, PLAN_GUIDE, DEFAULT_CONSTRAINT, UK, CK e SEQUENCE.

  • Se a tabela a ser sincronizada tiver uma chave primária, a coluna de chave primária na tabela de destino deve corresponder à tabela de source. Se a tabela não tiver chave primária, a coluna de chave primária na tabela de destino deve corresponder à chave de distribuição.

  • A chave única na tabela de destino — incluindo a coluna de chave primária — deve conter todas as colunas da chave de distribuição.

  • 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 devem ter um índice clusterizado que inclua as colunas de chave primária. Heap tables, tabelas sem chaves primárias, tabelas comprimidas, tabelas com colunas computadas e tabelas com colunas esparsas não são compatíveis. Essas limitações não se aplicam no modo de análise de log híbrido.

  • 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 de dados incrementais no DTS depende do componente CDC. Certifique-se de que os jobs do CDC no banco de dados de source estejam sendo executados corretamente; caso contrário, a tarefa do DTS falhará.

    • Por padrão, o componente CDC armazena dados incrementais por 3 dias. Use 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 source gerar, em média, mais de 10 milhões de instruções SQL de alteração incremental por dia, recomenda-se definir <time> como 1440.

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

    • Em uma única tarefa de sincronização de dados, ative o CDC em no máximo 1.000 tabelas. Ultrapassar 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 source usada pela instância do DTS deve ter permissões para ativar o CDC. Uma conta com a função sysadmin é necessária para ativar o CDC no nível do banco de dados. Uma conta com privilégios elevados é necessária para ativar o CDC no nível da tabela.

      Nota
      • A conta com os maiores privilégios (administrador do servidor) fornecida no console do Azure SQL Database atende a esse requisito. Para bancos de dados que utilizam o modelo de compra baseado em vCore, todas as camadas de service são compatíveis com CDC. Para bancos de dados que utilizam o modelo de compra baseado em DTU, a camada de service deve ser S3 ou superior para suportar CDC.

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

      • O CDC não é compatível com tabelas que possuem índices columnstore clusterizados.

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

    • O DTS consulta a instância CDC de cada tabela no banco de dados de source para obter dados incrementais. Por isso, sincronize no máximo 1.000 tabelas; caso contrário, a tarefa poderá apresentar latência ou instabilidade.

    • Os dados incrementais armazenados pelo componente CDC são retidos por 3 dias por padrão. Recomenda-se 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 source ultrapassar 10 milhões, recomenda-se definir <time> como 1440.

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

    • Modificar a instância CDC no banco de dados de source não é suportado e pode causar falha na tarefa ou perda de dados.

  • Para garantir o monitoramento preciso de latência na sincronização de dados incrementais, o DTS cria objetos específicos no banco de dados de source de acordo com o 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, além de ativar o CDC no nível do banco de dados e em algumas tabelas. A taxa de alterações de dados nas tabelas com CDC ativo não deve ultrapassar 1.000 RPS.

  • Antes de iniciar uma tarefa de sincronização de dados, avalie o desempenho dos bancos de dados de source e de destino. Execute a tarefa durante os períodos de menor carga. A inicialização completa de dados consome recursos de leitura e gravação em ambos os bancos de dados, o que pode aumentar a carga sobre eles.

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

  • Durante a sincronização, não grave dados no banco de dados de destino a partir de fontes externas, pois isso pode causar inconsistência nos dados. Por exemplo, ao usar o DMS para realizar alterações DDL online enquanto outros dados estão sendo gravados no destino, pode ocorrer perda de dados no banco de dados de destino.

  • É possível selecionar objetos no nível de tabela e modifique os mapeamentos de colunas. Se você usar mapeamento de colunas para sincronização parcial de uma tabela, ou se os schemas das tabelas de source e destino forem inconsistentes, os dados em colunas presentes na source mas ausentes no destino serão perdidos.

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

    Nota

    Não é possível realizar operações DDL relacionadas à chave primária em uma tabela com CDC ativo.

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

  • Para gravar mais de 64 KB de dados em um único campo de uma tabela com CDC ativo, use o comando exec sp_configure 'max text repl size', -1; para ajustar a configuração do banco de dados de source com antecedência.

    Nota

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

  • Ao usar o recurso Modify Objects to be Synchronized, não é possível remover bancos de dados da tarefa.

  • Múltiplas instâncias de sincronização que utilizam o mesmo banco de dados SQL Server como source possuem módulos independentes de captura de dados incrementais.

  • Em caso de falha na tarefa, a equipe de suporte do DTS tentará restaurá-la em até oito horas. Durante a restauração, eles poderão reiniciar a tarefa ou ajustar seus parâmetros.

    Nota

    Somente os parâmetros da tarefa DTS são modificados — não os parâmetros do banco de dados. Os parâmetros que podem ser ajustados incluem os listados em Modificar parâmetros da instância.

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

  • Durante a sincronização incremental, transações parcialmente revertidas no source não são suportadas. A operação de rollback pode ser perdida.

Casos especiais

Quando a instância de source é um ApsaraDB RDS for SQL Server, o DTS cria uma conta rdsdt_dtsacct na instância de source para a sincronização de dados. Não exclua essa conta nem altere sua senha enquanto a tarefa estiver em execução, pois isso pode causar falha na tarefa. Para mais informações, consulte Descrições de contas do sistema.

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 Visão geral do faturamento.

Topologias de sincronização

  • Sincronização unidirecional de um para um

  • Sincronização unidirecional de um para muitos

  • Sincronização unidirecional de muitos para um

Para uma introdução a essas topologias e às principais considerações, consulte Topologias de sincronização.

Operações SQL suportadas

Type

SQL statement

DML

INSERT, UPDATE, and DELETE

Nota
  • DTS does not synchronize UPDATE statements that only update a large field.

  • The system automatically converts UPDATE statements to REPLACE INTO statements when writing data to a destination AnalyticDB for PostgreSQL instance. If an UPDATE statement modifies a primary key, the system instead converts it into a DELETE statement and an INSERT statement.

DDL

  • CREATE TABLE

  • ALTER TABLE: somente as cláusulas ADD COLUMN e DROP COLUMN são suportadas.

  • DROP TABLE

  • CREATE INDEX and DROP INDEX

Nota
  • A sincronização de operações DDL que contêm um tipo definido pelo usuário não é suportada.

  • A sincronização de operações DDL transacionais não é suportada.

  • A sincronização de operações DDL online não é suportada.

  • A sincronização de operações DDL que utilizam palavras-chave reservadas como nomes de atributo não é suportada.

  • A sincronização de operações DDL executadas por stored procedures do sistema não é suportada.

  • DTS does not synchronize TRUNCATE TABLE operations.

  • A sincronização de DDL para partições e definições de tabela que contêm uma função não é suportada.

Permissões da conta de banco de dados

Database

Permissões necessárias

Referências

SQL Server autogerenciado

sysadmin

CREATE USER e GRANT (Transact-SQL)

AnalyticDB for PostgreSQL instance

  • Permissão LOGIN

  • Permissões SELECT, CREATE, INSERT, UPDATE e DELETE nas tabelas de destino

  • Permissões CONNECT e CREATE no banco de dados de destino

  • Permissão CREATE nos schemas de destino

  • Permissão COPY (para operações de cópia em lote baseadas em memória)

Nota

Você também pode usar a conta inicial da instância AnalyticDB for PostgreSQL.

Criar e gerenciar uma conta de banco de dados e Gerenciar usuários e permissões

Pré-requisitos

Antes de configurar uma tarefa de sincronização de dados, configure as definições de log e crie um índice clusterizado no banco de dados SQL Server autogerenciado.

Importante

Para sincronizar vários bancos de dados, repita os Passos 1 a 3 para cada banco de dados, a fim de evitar inconsistências nos dados.

  1. Execute o seguinte comando no banco de dados SQL Server autogerenciado para alterar o modelo de recuperação do banco de dados para full. Você também pode usar o SQL Server Management Studio (SSMS) para alterar o modelo de recuperação. Para mais informações, consulte View or Change the Recovery Model of a Database (SQL Server).

    use master;
    GO
    ALTER DATABASE <database_name> SET RECOVERY FULL WITH ROLLBACK IMMEDIATE;
    GO

    Parâmetros:

    <database_name>: O nome do banco de dados a ser sincronizado.

    Exemplo:

    use master;
    GO
    ALTER DATABASE mytestdata SET RECOVERY FULL WITH ROLLBACK IMMEDIATE;
    GO
  2. Execute o seguinte comando para criar um backup lógico do banco de dados de source. Se você já tiver um backup lógico, ignore esta etapa.

    BACKUP DATABASE <database_name> TO DISK='<physical_backup_device_name>';
    GO

    Parâmetros:

    • <database_name>: O nome do banco de dados de source.

    • <physical_backup_device_name>: O caminho e o nome do arquivo de backup.

    Exemplo:

    BACKUP DATABASE mytestdata TO DISK='D:\backup\dbdata.bak';
    GO
  3. Execute o seguinte comando para criar um backup de log do banco de dados de source.

    BACKUP LOG <database_name> to DISK='<physical_backup_device_name>' WITH init;
    GO

    Parâmetros:

    • <database_name>: O nome do banco de dados de source.

    • <physical_backup_device_name>: O caminho e o nome do arquivo de backup.

    Exemplo:

    BACKUP LOG mytestdata TO DISK='D:\backup\dblog.bak' WITH init;
    GO

Procedimento

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

    From the DTS console

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

    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.

    From the DMS console

    Nota

    As operações reais podem variar de acordo com o modo e o layout do console do DMS. Para mais informações, consulte Simple mode e Customize the layout and style of the DMS interface.

    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 destino.

    Category

    Parameter

    Description

    N/A

    Task Name

    O DTS gera automaticamente um nome de tarefa. Recomendamos especificar um nome descritivo para facilitar a identificação. O nome não precisa ser exclusivo.

    Source Database

    Database Type

    Selecione SQL Server.

    Access Method

    Selecione o tipo de conexão de acordo com a implantação do banco de dados de origem. Neste exemplo, selecione Self-managed Database on ECS.

    Nota

    Ao selecionar um tipo de conexão diferente para seu banco de dados autogerenciado, conclua as preparações correspondentes. Para mais informações, consulte Overview of preparations.

    Instance Region

    Selecione a região da instância ECS que hospeda o banco de dados SQL Server autogerenciado.

    ECS Instance ID

    Selecione o ID da instância ECS que hospeda o banco de dados SQL Server autogerenciado.

    Port Number

    Insira a porta de serviço do banco de dados SQL Server autogerenciado. O valor padrão é 1433.

    Database Account

    Insira a conta do banco de dados SQL Server autogerenciado. Para informações sobre as permissões necessárias, consulte Permissions required for database accounts.

    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 no banco de dados de origem, selecione Non-encrypted.

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

    Destination Database

    Database Type

    Selecione AnalyticDB for PostgreSQL.

    Connection Type

    Selecione Alibaba Cloud Instance.

    Instance Region

    Selecione a região da instância AnalyticDB for PostgreSQL de destino.

    Instance ID

    Selecione o ID da instância AnalyticDB for PostgreSQL de destino.

    Database Name

    Insira o nome do banco de dados de destino dentro da instância AnalyticDB for PostgreSQL.

    Database Account

    Insira a conta da instância AnalyticDB for PostgreSQL de destino. Para informações sobre as permissões necessárias, consulte Permissions required for database accounts.

    Database Password

    Insira a senha correspondente à conta do banco de dados.

  4. Após concluir a configuração, clique em Test Connectivity and Proceed na parte inferior da página. Na caixa de diálogo CIDR Blocks of DTS Servers, clique em Test Connectivity.

    Nota

    Certifique-se de que os blocos CIDR de IP dos servidores DTS estejam adicionados às configurações de segurança dos bancos de dados de origem e destino para permitir o acesso dos servidores DTS. Essa operação pode ser feita de forma automática ou manual. Para mais informações, consulte Add the IP address CIDR blocks of DTS servers to a whitelist.

  5. Configure os objetos da tarefa.

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

      Parameter

      Description

      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 verificação prévia, o DTS realiza uma sincronização completa dos dados dos objetos selecionados da instância source para o cluster de destino. Esses dados servem como linha de base para a sincronização incremental subsequente.

      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 verificação prévia é aprovada. Caso exista, a verificação prévia falha e a tarefa de sincronização de dados não é iniciada.

        Nota

        Se não for possível excluir ou renomear a tabela com o mesmo nome no banco de dados de destino, mapeie-a para um nome diferente. Para mais informações, consulte Mapear nomes de tabelas e colunas.

      • Ignore Errors and Proceed: Ignora a verificação de nomes de tabelas 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 chave única que um registro no banco de dados source:

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

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

        • Se os schemas das tabelas forem diferentes, a sincronização inicial de dados pode falhar, resultando na sincronização apenas parcial dos dados de uma coluna ou em falha completa da sincronização. Prossiga com cautela.

      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:

          • Compatível com cenários que envolvem heap tables, tabelas sem chaves primárias, tabelas comprimidas e tabelas com colunas computadas no banco de dados source.

          • Alta estabilidade de link. Este modo obtém instruções DDL completas e oferece suporte abrangente a 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 source. Também ativa o CDC no nível do banco de dados e em algumas tabelas.

          • Não é possível executar instruções SELECT INTO, TRUNCATE, RENAME COLUMN ou de modificação de tipo de coluna em tabelas com CDC ativado no banco de dados source. O trigger criado pelo DTS no banco de dados source não pode ser excluído manualmente.

            Nota

            Tabelas que contêm os 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 ao banco de dados source.

        • Desvantagens:

          Não é compatível com cenários que envolvem heap tables, tabelas sem chaves primárias, tabelas comprimidas ou tabelas com colunas computadas no banco de dados source.

      • Polling and querying CDC instances for incremental synchronization:

        • Vantagens:

          • Compatível com sincronização completa e incremental quando o banco de dados source é 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 utiliza o componente nativo Change Data Capture (CDC) do SQL Server para obter dados incrementais, tornando a sincronização incremental mais estável e consumindo menos largura de banda de rede.

        • Desvantagens:

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

          • Em cenários que envolvem a sincronização de múltiplos bancos de dados e tabelas, podem ocorrer riscos de instabilidade e problemas de 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 quando SQL Server Incremental Synchronization Mode está definido como Incremental Synchronization Based on Logs of Source Database (Heap tables are not supported).

      DDL and DML Operations to Be Synchronized

      Selecione as operações DDL ou DML a serem sincronizadas no nível da instância. Para informações sobre as operações suportadas, consulte Operações SQL suportadas.

      Nota

      Para selecionar quais operações SQL sincronizar para um banco de dados ou tabela, clique com o botão direito no objeto de sincronização na caixa Selected Objects. Na caixa de diálogo exibida, selecione as operações SQL desejadas.

      Storage Engine Type

      Selecione o tipo de mecanismo de armazenamento para as tabelas de destino. O valor padrão é Beam.

      Nota

      Este parâmetro está disponível somente quando a versão do kernel da instância AnalyticDB for PostgreSQL de destino é v7.0.6.6 ou posterior, e Synchronization Types está selecionado para Schema Synchronization.

      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

      Este cenário envolve sincronização entre bancos de dados heterogêneos. Portanto, somente tabelas podem ser selecionadas como objetos de sincronização. Outros objetos, como views, triggers e stored procedures, não são sincronizados para 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 no objeto na caixa Selected Objects. Para mais informações sobre como renomear objetos, consulte Mapear um único banco de dados, tabela ou coluna.

      • Para alterar os nomes de múltiplos 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 Mapear bancos de dados, tabelas e colunas em lote.

      Nota
      • Para selecionar as operações SQL a serem sincronizadas no nível de banco de dados ou tabela, clique com o botão direito em um objeto na lista Selected Objects e selecione as operações SQL desejadas na caixa de diálogo exibida.

      • Para especificar uma condição WHERE para filtrar dados, clique com o botão direito em uma tabela na lista Selected Objects e especifique a condição na caixa de diálogo exibida. Para instruções, consulte Configurar condições de filtro.

      • Se você usar mapeamento de objetos, objetos dependentes podem falhar na sincronização.

    2. Clique em Next: Advanced Settings para configurar os 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 não é necessário selecionar um cluster. Para maior estabilidade de desempenho, adquira um cluster dedicado para executar as tarefas de sincronização do DTS. Para mais informações, consulte O que é um cluster dedicado do DTS?.

      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 destino falhar, o DTS reporta um erro e inicia imediatamente as tentativas de reconexão. A duração padrão de retry é de 720 minutos. É possível definir uma duração personalizada entre 10 e 1.440 minutos. Recomendamos definir uma duração de 30 minutos ou mais. Se o DTS reconectar ao banco de dados dentro do período especificado, a tarefa de sincronização é retomada automaticamente. Caso contrário, a tarefa falha.

      Nota
      • Se você tiver múltiplas 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 retry 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á aplicada a ambas.

      • Como o DTS cobra pelo tempo de execução da tarefa durante o período de retry de conexão, recomendamos personalizar a duração de retry conforme as necessidades do seu negócio ou liberar a instância do DTS o mais breve possível após as instâncias de banco de dados de origem e destino serem liberadas.

      Retry Time for Other Issues

      Após o início da tarefa de sincronização, se ocorrerem outros problemas não relacionados à conectividade com o banco de dados de origem ou destino (como exceções na execução de DDL ou DML), o DTS reporta um erro e inicia imediatamente operações contínuas de retry. A duração padrão de retry é de 10 minutos. É possível personalizar a duração dentro do intervalo de 1 a 1.440 minutos. Recomendamos definir 10 minutos ou mais. Se as operações relevantes forem bem-sucedidas dentro do período de retry configurado, a tarefa de sincronização é retomada automaticamente. Caso contrário, a tarefa falha.

      Importante

      O valor de Retry Time for Other Issues deve ser menor que o valor de 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 destino, o que pode aumentar a carga sobre eles. Para reduzir essa carga, defina 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 somente quando Synchronization Types está definido como Full Data Synchronization.

      • Também é possível ajustar a taxa de sincronização completa após a instância de sincronização estar em execução.

      Enable Throttling for Incremental Data Synchronization

      Também é possível definir um limite de taxa para a tarefa de sincronização incremental. Para aliviar a pressão sobre o banco de dados de destino, configure os parâmetros RPS of Incremental Data Synchronization e Data synchronization speed for incremental synchronization (MB/s).

      Enclose Object Names in Quotation Marks

      Escolha se deseja adicionar aspas aos nomes dos objetos de destino. Se você selecionar Yes e qualquer uma das condições a seguir for atendida, o DTS adicionará aspas simples ou duplas aos nomes dos objetos de destino durante as etapas de sincronização inicial de schema e de sincronização incremental de dados:

      • O ambiente de negócios do banco de dados de origem é sensível a maiúsculas e minúsculas e usa capitalização mista.

      • O nome da tabela de origem não começa com uma letra e contém caracteres além de letras, números ou caracteres especiais.

        Nota

        Apenas underscores (_), cerquilhas (#) e cifrões ($) são suportados como caracteres especiais.

      • O nome do schema, tabela ou coluna a ser sincronizado é uma palavra-chave, palavra reservada ou caractere inválido no banco de dados de destino.

      Nota

      Se optar por adicionar aspas, utilize o nome do objeto de destino entre aspas nas consultas após a conclusão da tarefa de sincronização de dados.

      Environment Tag

      Selecione uma tag de ambiente para identificar a instância conforme as necessidades do seu negócio. Esta etapa não é obrigatória neste exemplo.

      Configure ETL

      Escolha se deseja ativar o recurso de extração, transformação e carregamento (ETL). Para mais informações, consulte O que é ETL? Valores válidos:

      Monitoring and Alerting

      Especifique se deseja configurar alertas. Caso a sincronização falhe ou a latência ultrapasse o limiar especificado, uma notificação será enviada a um contato de alerta.

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

      Para utilizar o recurso de validação de dados, consulte Configure data validation para obter as instruções de configuração.

    4. Opcional: Após concluir as configurações anteriores, clique em Next: Configure Database and Table Fields para especificar o Type, a Primary Key Column e a Distribution Key para as tabelas de destino na instância AnalyticDB for PostgreSQL.

      Nota
      • Esta etapa está disponível somente se você selecionou Schema Synchronization em Synchronization Types ao configurar os objetos de sincronização. Você pode alterar as configurações definindo Definition Status como All.

      • A Primary Key Column pode ser uma chave composta formada por múltiplas colunas. Selecione uma ou mais colunas de Primary Key Column para servir como Distribution Key. Para mais informações, consulte Manage tables e Define table distribution.

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

    • Para visualizar os parâmetros da API de configuração desta instância, passe o cursor sobre o botão Next: Save Task Settings and Precheck e clique em Preview OpenAPI parameters no balão exibido.

    • Após concluir a visualização dos 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 verificação prévia. O job só pode ser iniciado após todos os itens da verificação prévia serem aprovados.

    • Se a verificação prévia falhar, clique em View Details no item com falha. Corrija o problema conforme orientado e execute a verificação prévia novamente.

    • Se a verificação prévia 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 execute a verificação prévia novamente.

      • Para itens que podem ser ignorados, clique em Confirm Alert Details, Ignore, OK e Precheck Again em sequência para ignorar o aviso e reexecutar a verificação prévia. Optar por ignorar o item de aviso pode causar problemas como inconsistência de dados e representar riscos para o seu negócio.

  7. Adquira a instância.

    1. Quando a Success Rate atingir 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: o pagamento é realizado no momento da criação da instância. Mais indicado para necessidades de longo prazo, com custo menor do que o pagamento conforme o uso. Quanto maior o período de assinatura, maior o desconto.

      • Pagamento conforme o uso: a cobrança é feita por hora. Adequado para necessidades de curto prazo. Você pode liberar a instância imediatamente após o uso para reduzir custos.

      Configuração do Grupo de Recursos

      O grupo de recursos ao qual a instância pertence. O padrão é o grupo de recursos default. Para mais informações, consulte O que é o Resource Management?.

      Especificação de Link

      O DTS oferece especificações de sincronização com diferentes níveis de desempenho. A especificação do link de sincronização influencia a taxa de sincronização. Escolha uma especificação de acordo com o seu cenário de negócios. Para mais informações, consulte Especificações do link de sincronização de dados.

      Duração da Assinatura

      No modo de assinatura, selecione a duração e a quantidade para a instância de assinatura. É possível optar por assinatura mensal de 1 a 9 meses, ou 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.

      Acompanhe o progresso da tarefa na página Data Synchronization.