Todos os produtos
Search
Central de documentação

AnalyticDB:Sincronizar dados do SQL Server no ECS para o AnalyticDB for PostgreSQL

Última atualização: Aug 31, 2026

O Data Transmission Service (DTS) oferece suporte à sincronização incremental de dados em tempo real de um banco de dados SQL Server criado pelo usuário para uma instância do AnalyticDB for PostgreSQL.

Pré-requisitos

  • O banco de dados SQL Server criado pelo usuário deve executar a versão 2008, 2008 R2, 2012, 2014, 2016, 2017 ou 2019.

    Nota

    Se o banco de dados SQL Server estiver implantado em um grupo de disponibilidade Always On, use o modo de confirmação síncrona.

  • As tabelas a serem sincronizadas no banco de dados SQL Server criado pelo usuário devem ter uma chave primária ou um índice exclusivo não nulo para garantir a idempotência dos dados.

  • A instância de destino do AnalyticDB for PostgreSQL precisa ter mais armazenamento disponível do que o utilizado pelo banco de dados SQL Server de origem.

Observações de uso

  • Durante a inicialização completa dos dados, 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. Quando os bancos de dados apresentam baixo desempenho, especificações reduzidas ou cargas de trabalho intensas (por exemplo, grande volume de instruções SQL lentas, tabelas sem chaves primárias ou deadlocks no banco de dados de destino), a pressão sobre o banco de dados pode aumentar ainda mais e tornar os services indisponíveis. Por isso, avalie o desempenho dos bancos de dados de origem e de destino antes de iniciar a sincronização de dados. Recomenda-se sincronizar os dados em horários de baixa demanda (por exemplo, quando a carga da CPU dos bancos de dados de origem e de destino estiver abaixo de 30%).

  • É possível selecionar objetos no nível de tabela. O DTS não oferece suporte à sincronização de tabelas com otimização de acréscimo (AO). Mapeamentos de colunas podem ser modificados. Caso utilize o mapeamento de colunas sem sincronizar a tabela inteira, ou se os esquemas das tabelas de origem e de destino forem inconsistentes, os dados das colunas que existem apenas na tabela de origem serão perdidos.

  • Evite backups frequentes no banco de dados de origem. Mantenha os logs por pelo menos três dias para evitar falhas de recuperação após o truncamento do log.

  • O DTS adiciona uma tabela de heartbeat ao banco de dados SQL Server criado pelo usuário para rastrear a latência da sincronização. O nome da tabela segue o formato <table_name>_dts_mysql_heartbeat.

Faturamento

Tipo de sincronização

Preço

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

Gratuito.

Sincronização incremental de dados

Pago. Para mais informações, consulte Billing overview.

Limitações

  • O DTS não oferece suporte à sincronização de esquemas e estruturas de tabelas para assemblies, service brokers, índices de texto completo, catálogos de texto completo, esquemas distribuídos, funções distribuídas, procedimentos armazenados CLR, funções escalares CLR, funções com valor de tabela CLR, tabelas internas, tabelas de sistema ou funções agregadas.

  • O DTS não sincroniza dados dos seguintes tipos: TIMESTAMP, CURSOR, ROWVERSION, HIERARCHYID, SQL_VARIANT, SPATIAL GEOMETRY, SPATIAL GEOGRAPHY e TABLE.

  • O DTS não sincroniza tabelas que contêm colunas computadas.

Operações SQL suportadas

  • Operações DML: INSERT, UPDATE, DELETE

  • Operação DDL: ADD COLUMN

    Nota

    O DTS não migra operações DDL transacionais.

Permissões de conta

Banco de dados

Permissões necessárias

Criação e autorização de conta

Instância SQL Server criada pelo usuário

sysadmin

Instância AnalyticDB for PostgreSQL

  • 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 no esquema de destino.

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

Nota

Também é possível utilizar a conta inicial da instância AnalyticDB for PostgreSQL.

Preparações

Configure as definições de log e crie um índice clusterizado no banco de dados SQL Server de origem antes de configurar a tarefa de sincronização.

  1. No banco de dados SQL Server criado pelo usuário, execute o comando a seguir para alterar o modelo de recuperação do banco de dados de origem para FULL. Também é possível modificar essa configuração usando um cliente SSMS. Para mais informações, consulte Exibir ou alterar o modelo de recuperação de um banco de dados.

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

    Parâmetros:

    <database_name>: O nome do banco de dados de origem.

    Exemplo:

    use master;
    GO
    ALTER DATABASE mytestdata SET RECOVERY FULL WITH ROLLBACK IMMEDIATE;
    GO
  2. Faça backup do banco de dados de origem executando o comando a seguir. Pule esta etapa caso já tenha realizado um backup lógico.

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

    Parâmetros:

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

    • <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. Faça backup dos logs do banco de dados de origem executando o comando a seguir.

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

    Parâmetros:

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

    • <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
  4. Crie um índice clusterizado para as tabelas a serem sincronizadas. Para mais informações, consulte Criar índices clusterizados.

Procedimento

  1. Adquira uma instância de sincronização de dados. Para mais informações, consulte Purchase procedure.

    Nota

    Na página de compra, defina o parâmetro SQL Server como SQL Server, o parâmetro Destination Instance como AnalyticDB for PostgreSQL e o parâmetro One-way Synchronization como One-way Synchronization.

  2. Faça login no console do DTS.

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

  4. Na parte superior da página Synchronization Tasks, selecione a região onde a instância de destino está localizada.

  5. Localize sua tarefa de sincronização de dados e clique em Configure Synchronization Channel.

  6. Configure as instâncias de origem e de destino.

    Categoria

    Parâmetro

    Descrição

    N/A

    Synchronization Task Name

    O DTS gera automaticamente um nome para a tarefa. Especifique um nome descritivo para facilitar a identificação. O nome não precisa ser único.

    Source Instance Details

    Instance Type

    Selecione o local de implantação do banco de dados de origem. Este exemplo utiliza User-Created Database in ECS Instance.

    Nota

    Se você selecionar um tipo de instância diferente, preparações adicionais serão necessárias. Para mais informações, consulte Preparation overview.

    Instance Region

    A região selecionada durante a aquisição da instância de sincronização de dados. Esta configuração não pode ser alterada.

    ECS Instance ID

    Selecione a instância ECS que hospeda o banco de dados de origem.

    Database Type

    O tipo de banco de dados, fixo como SQL Server.

    Port Number

    Porta de service do banco de dados criado pelo usuário. Padrão: 1433.

    Database Account

    Insira a conta do banco de dados de origem. Para requisitos de permissão, consulte Account permissions.

    Database Password

    Insira a senha da conta do banco de dados.

    Connection Mode

    Selecione Non-encrypted ou SSL-encrypted conforme necessário.

    Nota

    Atualmente, a configuração de Encryption é suportada apenas em regiões da China continental e na região China (Hong Kong).

    Destination Instance Details

    Instance Type

    Selecione AnalyticDB for PostgreSQL.

    Instance Region

    A região selecionada durante a aquisição da instância de sincronização de dados. Esta configuração não pode ser alterada.

    Instance ID

    Selecione a instância AnalyticDB for PostgreSQL de destino.

    Database Name

    Insira o nome do banco de dados de destino.

    Database Account

    Insira a conta do banco de dados para a instância AnalyticDB for PostgreSQL. Para requisitos de permissão, consulte Account permissions.

    Database Password

    Insira a senha da conta do banco de dados.

  7. No canto inferior direito da página, clique em Set Whitelist and Next.

    Se o banco de dados de origem ou de destino for uma instância de banco de dados Alibaba Cloud, como uma instância ApsaraDB RDS for MySQL ou ApsaraDB for MongoDB, o DTS adiciona automaticamente os blocos CIDR dos servidores DTS à lista de permissões de endereços IP da instância. Se o banco de dados de origem ou de destino for um banco de dados autogerenciado hospedado em uma instância Elastic Compute Service (ECS), o DTS adiciona automaticamente os blocos CIDR dos servidores DTS às regras do grupo de segurança da instância ECS, e você deve garantir que a instância ECS possa acessar o banco de dados. Se o banco de dados autogerenciado estiver hospedado em várias instâncias ECS, adicione manualmente os blocos CIDR dos servidores DTS às regras do grupo de segurança de cada instância ECS. Se o banco de dados de origem ou de destino for um banco de dados autogerenciado implantado em um data center ou fornecido por um provedor de services cloud terceirizado, adicione manualmente os blocos CIDR dos servidores DTS à lista de permissões de endereços IP do banco de dados para permitir o acesso do DTS. Para mais informações, consulte Whitelist DTS server IP addresses.

    Aviso

    Adicionar os blocos CIDR de endereços IP públicos dos servidores DTS, seja automática ou manualmente, pode apresentar riscos de segurança. Ao usar este product, você reconhece e aceita esses riscos potenciais. Implemente proteções básicas de segurança. Essas proteções incluem, mas não se limitam a: fortalecer a segurança de senhas, restringir portas abertas para blocos CIDR, usar autenticação para comunicação interna de API e revisar/restringir regularmente blocos CIDR desnecessários. Alternativamente, conecte-se ao banco de dados por meio de uma rede interna, como uma linha dedicada, um VPN Gateway ou um Smart Access Gateway.

  8. Configure a política e os objetos de sincronização.

    Configuração

    Descrição

    Tipos de sincronização

    Por padrão, Initial Schema Synchronization, Full Data Synchronization e Incremental Data Synchronization estão selecionados. Após a conclusão da pré-verificação, o DTS sincroniza os esquemas e os dados existentes dos objetos selecionados para o banco de dados de destino como base para a sincronização incremental.

    Modo de processamento para tabelas de destino existentes

    • Precheck and Report Errors: O DTS verifica se existem tabelas de destino com os mesmos nomes das tabelas de origem. A pré-verificação é aprovada se nenhuma tabela correspondente for encontrada. Se existir uma tabela correspondente, a pré-verificação falha e a tarefa não inicia.

      Nota

      Se o banco de dados de destino já contiver uma tabela com o mesmo nome que não possa ser excluída ou renomeada, renomeie a tabela de destino. Para mais informações, consulte Rename a synchronization object in the destination instance.

    • Ignore Errors and Proceed: Ignora a verificação de tabelas com nomes idênticos no banco de dados de destino.

      Aviso

      Selecionar Ignore Errors and Proceed pode causar inconsistência de dados. Por exemplo:

      • Se os esquemas coincidirem e um registro de destino tiver a mesma chave primária que um registro de origem, o registro de destino será preservado e o registro de origem não será sincronizado.

      • Se os esquemas diferirem, a sincronização inicial de dados pode falhar ou sincronizar apenas um subconjunto de colunas.

    Mesclagem de tabelas

    • Yes: Em cenários OLTP, o sharding é frequentemente usado para melhorar os tempos de resposta. O AnalyticDB for PostgreSQL armazena grandes volumes de dados em uma única tabela, o que simplifica as consultas. Utilize a mesclagem de tabelas para sincronizar várias tabelas de origem com o mesmo esquema em uma única tabela do AnalyticDB for PostgreSQL.

      Nota
      • Após selecionar várias tabelas de origem, use o recurso de mapeamento de nomes de objetos para mapeá-las para uma única tabela no AnalyticDB for PostgreSQL. Para mais informações, consulte Rename a synchronization object in the destination instance.

      • Adicione uma coluna __dts_data_source do tipo TEXT à tabela de destino para rastrear a origem dos dados. O DTS grava valores no formato <DTS data synchronization instance ID>:<source database name>.<source schema name>.<source table name>, como dts****:dtstestdata.testschema.customer1.

      • A mesclagem de tabelas é um recurso no nível da tarefa e não pode ser aplicada a tabelas individuais. Se precisar mesclar algumas tabelas, mas não outras, crie duas tarefas de sincronização separadas.

    • No: Esta é a opção padrão.

    Tipos de operação

    Selecione os tipos de operação a serem sincronizados com base nas necessidades do seu negócio. Todos os tipos de operação são selecionados por padrão.

    Objetos de sincronização

    Na caixa Source Objects, clique nos objetos que deseja sincronizar e, em seguida, clique no ícone 向右小箭头 para movê-los para a caixa Selected Objects.

    Como este é um cenário de sincronização heterogênea, apenas tabelas podem ser sincronizadas. Outros objetos, como views, triggers e stored procedures, não são suportados.

    Nota
    • Por padrão, os nomes dos objetos sincronizados permanecem inalterados. Para usar nomes diferentes na instância de destino, consulte Rename a synchronization object in the destination instance.

    • Se definir Merge Tables como Yes, use o recurso de mapeamento de nomes de objetos para mapear as tabelas de origem selecionadas para um único nome de tabela no AnalyticDB for PostgreSQL.

    Adicionar aspas aos nomes dos objetos

    Especifica se os nomes dos objetos de destino devem ser colocados entre aspas. Se selecionar Yes e qualquer uma das condições a seguir for atendida, o DTS adicionará aspas aos nomes dos objetos de destino durante a sincronização de esquema e a sincronização incremental de dados:

    • O ambiente do banco de dados de origem diferencia maiúsculas de minúsculas e usa nomes com casos mistos.

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

      Nota

      Apenas sublinhados (_), sinais de libra (#) e cifrões ($) são suportados como caracteres especiais.

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

    Nota

    Se adicionar aspas, use os nomes entre aspas ao consultar os objetos após a sincronização.

    Edit mapped names

    Altere os nomes dos objetos sincronizados na instância de destino. Para mais informações, consulte Map databases, tables, and columns.

    Connection retry duration

    Se o DTS não conseguir se conectar à instância de origem ou de destino, ele tentará novamente por 720 minutos (12 horas) por padrão. Também é possível especificar uma duração personalizada de nova tentativa. Se o DTS se reconectar à instância de origem ou de destino dentro da duração especificada, a tarefa de sincronização será retomada automaticamente. Caso contrário, a tarefa falhará.

    Nota

    Você é cobrado pelo tempo de execução da tarefa durante as novas tentativas de conexão. Personalize a duração da nova tentativa com base nas necessidades do seu negócio ou libere a instância DTS assim que as instâncias de origem e de destino forem liberadas.

  9. Configure o tipo de tabela, as colunas de chave primária e a chave de distribuição para as tabelas de destino no AnalyticDB for PostgreSQL.

    Nota

    Para mais informações sobre colunas de chave primária e chave de distribuição, consulte Table constraints e Table distribution key.

  10. Após concluir as configurações anteriores, clique em Precheck and Start no canto inferior direito da página.

    Nota
    • Antes do início oficial da tarefa de sincronização, o DTS realiza uma pré-verificação. A tarefa só pode ser iniciada após a aprovação dessa verificação.

    • Se a pré-verificação falhar, clique no ícone Prompt ao lado de um item de verificação específico para visualizar os detalhes da falha.

      • Siga a instrução para corrigir o problema e execute a pré-verificação novamente.

      • Se não for necessário corrigir os itens de verificação de aviso, selecione Ignore, Ignore Warning Items and Rerun Precheck para ignorar esses itens e executar a pré-verificação novamente.

  11. Depois que a caixa de diálogo Precheck exibir Precheck Passed, feche a caixa de diálogo Precheck. A tarefa de sincronização será iniciada.

  12. Aguarde a conclusão da inicialização da tarefa e a entrada no estado Synchronizing.

    Visualize o status da tarefa de sincronização de dados na página Data Synchronization.