Partilhar via


Agente de sincronização de dados para sincronização de dados SQL

Aplica-se a: do Banco de Dados SQL do Azure

Importante

A Sincronização de Dados SQL será desativada em 30 de setembro de 2027. Considere migrar para soluções alternativas de replicação/sincronização de dados.

Sincronize dados com bancos de dados do SQL Server instalando e configurando o Agente de Sincronização de Dados para Sincronização de Dados SQL no Azure. Para obter mais informações sobre a Sincronização de Dados SQL, consulte O que é a Sincronização de Dados SQL para Azure?

A Sincronização de Dados SQL não dá suporte à Instância Gerenciada SQL do Azure ou ao Azure Synapse Analytics.

Transferir e instalar

Para baixar o Data Sync Agent, vá para SQL Data Sync Agent. Para atualizar o Agente de Sincronização de Dados, instale o Agente no mesmo local do Agente antigo e ele substituirá o original.

Instalar silenciosamente

Para instalar o Data Sync Agent silenciosamente a partir do prompt de comando, digite um comando semelhante ao exemplo a seguir. Verifique o nome do arquivo de .msi baixado e forneça seus próprios valores para os argumentos TARGETDIR e SERVICEACCOUNT .

  • Se você não fornecer um valor para TARGETDIR, o valor padrão será C:\Program Files (x86)\Microsoft SQL Data Sync 2.0.

  • Se você fornecer LocalSystem como o valor de SERVICEACCOUNT, use a autenticação do SQL Server ao configurar o agente para se conectar ao SQL Server.

  • Se você fornecer uma conta de usuário de domínio ou uma conta de usuário local como o valor de SERVICEACCOUNT, você também terá que fornecer a senha com o argumento SERVICEPASSWORD . Por exemplo, SERVICEACCOUNT="<domain>\<user>" SERVICEPASSWORD="<password>".

msiexec /i "SQLDataSyncAgent-2.0-x86-ENU.msi" TARGETDIR="C:\Program Files (x86)\Microsoft SQL Data Sync 2.0" SERVICEACCOUNT="LocalSystem" /qn

Sincronizar dados com um banco de dados do SQL Server

Para configurar o Agente de Sincronização de Dados para que você possa sincronizar dados com um ou mais bancos de dados do SQL Server, consulte Adicionar um banco de dados do SQL Server.

Suporte para versões locais do SQL Server

Somente as seguintes versões do SQL Server local podem fazer parte de um grupo de sincronização:

  • SQL Server 2008
  • SQL Server 2008 R2
  • SQL Server 2012
  • SQL Server 2016
  • SQL Server 2017 no sistema operativo Windows
  • SQL Server 2019 para Windows
  • SQL Server 2022 no sistema Windows

Perguntas frequentes sobre o Data Sync Agent

Por que preciso de um agente cliente

O serviço Sincronização de Dados SQL comunica com as bases de dados do SQL Server através do agente do cliente. Esta funcionalidade de segurança impede a comunicação direta com bases de dados protegidas por uma firewall. Quando o serviço SQL Data Sync se comunica com o agente, ele faz isso usando conexões criptografadas e um token exclusivo ou chave de agente. As bases de dados do SQL Server autenticam o agente com a cadeia de ligação e a chave do agente. Esta estrutura oferece um elevado nível de segurança para os dados.

Quantas instâncias da interface do usuário do agente local podem ser executadas

Apenas uma instância da interface do usuário pode ser executada.

Como posso alterar a minha conta de serviço

Depois de instalar um agente cliente, a única maneira de alterar a conta de serviço é desinstalá-la e instalar um novo agente cliente com a nova conta de serviço.

Como faço para alterar minha chave de agente

Uma chave de agente só pode ser usada uma vez por um agente. Ele não pode ser reutilizado quando você remove e reinstala um novo agente, nem pode ser usado por vários agentes. Se você precisar criar uma nova chave para um agente existente, deverá ter certeza de que a mesma chave seja registrada com o agente cliente e com o serviço Sincronização de Dados SQL.

Como faço para aposentar um agente cliente

Para invalidar ou desativar imediatamente um agente, regenere a chave no portal, mas não a envie na interface do agente. A regeneração de uma chave invalida a chave anterior, independentemente de o agente correspondente estar online ou offline.

Como faço para mover um agente cliente para outro computador

Se você quiser executar o agente local de um computador diferente do que ele está atualmente e reutilizar o mesmo agente, execute as seguintes etapas:

  1. Instale o agente no computador desejado.
  2. Entre no portal do SQL Data Sync e gere novamente uma chave de agente para o agente existente.
  3. Utilize a interface do novo agente para enviar a chave de acesso do agente.
  4. Aguarde enquanto o agente cliente baixa a lista de bancos de dados locais que foram registrados anteriormente.
  5. Forneça credenciais de banco de dados para todos os bancos de dados que são exibidos como inacessíveis. Esses bancos de dados devem ser acessíveis a partir do novo computador no qual o agente está instalado.

Como faço para excluir o banco de dados de metadados do Sync se o agente do Sync ainda estiver associado a ele

Para excluir um banco de dados de metadados de sincronização que tenha um agente de sincronização associado a ele, você deve primeiro excluir o agente de sincronização. Para excluir o agente, faça o seguinte:

  1. Selecione o banco de dados Sync.
  2. Vá para a página Sincronizar com outros bancos de dados .
  3. Selecione o agente de sincronização e selecione Excluir.

Resolver problemas do Data Sync Agent

A instalação, desinstalação ou reparação do agente do cliente falha

  • Causa. Muitos cenários podem causar essa falha. Para determinar a causa específica para essa falha, observe os logs.

  • Resolução. Para encontrar a causa específica da falha, gere e examine os logs do Windows Installer. Pode ativar o registo numa linha de comandos. Por exemplo, se o arquivo de instalação baixado for SQLDataSyncAgent-2.0-x86-ENU.msi, gere e examine arquivos de log usando as seguintes linhas de comando:

    • Para instalações: msiexec.exe /i SQLDataSyncAgent-2.0-x86-ENU.msi /l*v LocalAgentSetup.Log

    • Para desinstalações: msiexec.exe /x SQLDataSyncAgent-2.0-x86-ENU.msi /l*v LocalAgentSetup.Log

      Também pode ativar o registo de todas as instalações executadas pelo Windows Installer. O artigo da Base de Dados de Conhecimento da Microsoft Como ativar o registo do Windows Installer disponibiliza uma solução de um clique para ativar o registo do Windows Installer. Disponibiliza também a localização dos registos.

O agente do cliente não funciona depois de cancelar a desinstalação

O agente do cliente não funciona, mesmo depois de cancelar a desinstalação.

  • Causa. Isso ocorre porque o agente cliente do SQL Data Sync não armazena credenciais.

  • Resolução. Pode experimentar estas duas soluções:

    • Utilize o services.msc para reinserir as credenciais do agente do cliente.
    • Desinstale este agente do cliente e, em seguida, instale um novo. Transfira e instale o agente cliente mais recente do Centro de Downloads.

A minha base de dados não aparece na lista de agentes

Ao tentar adicionar uma base de dados do SQL Server existente a um grupo de sincronização, a base de dados não aparece na lista de agentes.

Esses cenários podem causar esse problema:

  • Causa. O agente do cliente e o grupo de sincronização estão em datacenters diferentes.

  • Resolução. O agente do cliente e o grupo de sincronização têm de estar no mesmo datacenter. Para configurar isso, você tem duas opções:

    • Crie um novo agente no datacenter onde o grupo de sincronização está localizado. Em seguida, registre o banco de dados com esse agente.
    • Exclua o grupo de sincronização atual. Em seguida, recrie o grupo de sincronização no datacenter onde o agente está localizado.
  • Causa. A lista de bases de dados do agente do cliente não está atualizada.

  • Resolução. Pare e reinicie o serviço do agente do cliente.

    O agente local descarrega a lista de bases de dados associadas apenas na primeira submissão da chave do agente. Não descarrega a lista de bases de dados associadas nos envios subsequentes de chaves do agente. Os bancos de dados registados durante uma movimentação de agente não aparecem na instância original do agente.

O agente do cliente não inicia (Erro 1069)

Deteta que o agente não está em execução num computador com o SQL Server. Quando tenta iniciar manualmente o agente, verá uma caixa de diálogo a apresentar a mensagem “Erro 1069: O serviço não foi iniciado devido a uma falha de início de sessão”.

Captura de ecrã da caixa de diálogo Erro 1069 da Sincronização de Dados.

  • Causa. Uma causa provável deste erro é que a palavra-passe no servidor local foi alterada desde que você criou o agente e a palavra-passe do agente.

  • Resolução. Atualize a senha do agente para a senha atual do servidor:

    1. Localize o serviço do agente do cliente de Sincronização de Dados SQL.
      a) Selecione Iniciar.
      b. Na caixa de pesquisa, introduza services.msc.
      c. Nos resultados da pesquisa, selecione Serviços.
      d. Na janela Serviços , role até a entrada do SQL Data Sync Agent.
    2. Clique com o botão direito do rato em SQL Data Sync Agent e selecione Parar.
    3. Clique com o botão direito do rato em SQL Data Sync Agent e selecione Propriedades.
    4. Em Propriedades do SQL Data Sync Agent, selecione o separador Iniciar sessão.
    5. Na caixa Palavra-passe, introduza a palavra-passe.
    6. Na caixa Confirmar Palavra-passe, reintroduza a palavra-passe.
    7. Selecione Aplicare, em seguida, selecione OK.
    8. Na janela Serviços, clique com o botão direito do rato no serviço SQL Data Sync Agent e, em seguida, selecione Iniciar.
    9. Feche a janela Serviços.

Não consigo submeter a chave do agente

Depois de criar ou recriar uma chave para um agente, tente submeter a chave através da aplicação SqlAzureDataSyncAgent. O envio não foi concluído.

Captura de tela da caixa de diálogo Erro de sincronização - Não é possível enviar a chave do agente.

  • Pré-requisitos. Antes de prosseguir, verifique os seguintes pré-requisitos:

    • O serviço SQL Data Sync Windows está em execução.

    • A conta do serviço SQL Data Sync Windows tem acesso de rede.

    • A porta 1433 de saída está aberta na regra de firewall local.

    • O IP local é adicionado à regra de firewall do servidor ou do banco de dados para o banco de dados de metadados de sincronização.

  • Causa. A chave do agente identifica exclusivamente cada agente local. A chave tem de cumprir duas condições:

    • A chave do agente do cliente no servidor de Sincronização de Dados SQL e no computador local tem de ser idêntica.
    • A chave do agente do cliente só pode ser utilizada uma vez.
  • Resolução. Se o seu agente não está trabalhando, é porque uma ou ambas as condições não são atendidas. Para que o seu agente volte a funcionar:

    1. Gere uma nova chave.
    2. Aplique a nova chave ao agente.

    Para aplicar a nova chave ao agente:

    1. No Explorador de Ficheiros, aceda ao diretório de instalação do agente. O diretório de instalação padrão é C:\Program Files (x86)\Microsoft SQL Data Sync.
    2. Faça duplo clique no subdiretório bin.
    3. Abra a aplicação SqlAzureDataSyncAgent.
    4. Selecione Submeter Chave do Agente.
    5. No espaço indicado, cole a chave a partir da área de transferência.
    6. Selecione OK.
    7. Feche o programa.

O agente do cliente não poderá ser eliminado do portal se a base de dados no local associada estiver inacessível

Se um ponto de extremidade local (ou seja, um banco de dados) registrado com um agente cliente do SQL Data Sync se tornar inacessível, o agente cliente não poderá ser excluído.

  • Causa. O agente local não pode ser eliminado porque o banco de dados inacessível ainda está registado com o agente. Ao tentar eliminar o agente, o processo de eliminação tenta aceder à base de dados, o que falha.

  • Resolução. Utilize "eliminação forçada" para eliminar a base de dados inacessível.

Observação

Se as tabelas de metadados de sincronização permanecerem após uma "exclusão forçada", use deprovisioningutil.exe para limpá-las.

A aplicação Local Sync Agent não consegue ligar ao serviço de sincronização local

  • Resolução. Experimente os passos seguintes:

    1. Saia da aplicação.
    2. Abra o painel Serviços de componentes.
      a) Na caixa de pesquisa na barra de tarefas, digite services.msc.
      b. Nos resultados da pesquisa, faça duplo clique em Serviços.
    3. Pare o serviço Sincronização de Dados SQL.
    4. Reinicie o serviço Sincronização de Dados SQL.
    5. Reabrir a aplicação.

Execute o Agente de Sincronização de Dados a partir do prompt de comando

Você pode executar os seguintes comandos do Data Sync Agent no prompt de comando:

Ping do serviço

Utilização

SqlDataSyncAgentCommand.exe -action pingsyncservice

Exemplo

SqlDataSyncAgentCommand.exe -action "pingsyncservice"

Exibir bancos de dados registrados

Utilização

SqlDataSyncAgentCommand.exe -action displayregistereddatabases

Exemplo

SqlDataSyncAgentCommand.exe -action "displayregistereddatabases"

Submeta a chave do agente

Utilização

Usage: SqlDataSyncAgentCommand.exe -action submitagentkey -agentkey [agent key]  -username [user name] -password [password]

Exemplo

SqlDataSyncAgentCommand.exe -action submitagentkey -agentkey [agent key generated from portal, PowerShell, or API] -username [user name to sync metadata database] -password [user name to sync metadata database]

Registar uma base de dados

Utilização

SqlDataSyncAgentCommand.exe -action registerdatabase -servername [on-premisesdatabase server name] -databasename [on-premisesdatabase name]  -username [domain\\username] -password [password] -authentication [sql or windows] -encryption [true or false]

Exemplos

SqlDataSyncAgentCommand.exe -action "registerdatabase" -serverName localhost -databaseName testdb -authentication sql -username <user name> -password <password> -encryption true

SqlDataSyncAgentCommand.exe -action "registerdatabase" -serverName localhost -databaseName testdb -authentication windows -encryption true

Cancelar o registro de um banco de dados

Quando você usa esse comando para cancelar o registro de um banco de dados, ele desprovisiona o banco de dados completamente. Se o banco de dados participar de outros grupos de sincronização, essa operação interromperá os outros grupos de sincronização.

Utilização

SqlDataSyncAgentCommand.exe -action unregisterdatabase -servername [on-premisesdatabase server name] -databasename [on-premisesdatabase name]

Exemplo

SqlDataSyncAgentCommand.exe -action "unregisterdatabase" -serverName localhost -databaseName testdb

Atualizar credenciais

Utilização

SqlDataSyncAgentCommand.exe -action updatecredential -servername [on-premisesdatabase server name] -databasename [on-premisesdatabase name]  -username [domain\\username] -password [password] -authentication [sql or windows] -encryption [true or false]

Exemplos

SqlDataSyncAgentCommand.exe -action "updatecredential" -serverName localhost -databaseName testdb -authentication sql -username <user name> -password <password> -encryption true

SqlDataSyncAgentCommand.exe -action "updatecredential" -serverName localhost -databaseName testdb -authentication windows -encryption true

Para obter mais informações sobre a Sincronização de Dados SQL, consulte os seguintes artigos: