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

Aplica-se a:Banco de Dados SQL do Azure

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 saber mais sobre a Sincronização de Dados SQL, veja Sincronizar dados em vários bancos de dados locais e na nuvem com a Sincronização de Dados SQL.

Importante

No momento, a Sincronização de Dados SQL não oferece 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.

Perguntas frequentes sobre o Data Sync Agent

Por que preciso de um agente cliente

O serviço SQL Data Sync se comunica com bancos de dados do SQL Server por meio do agente cliente. Este recurso de segurança impede a comunicação direta com bancos de dados atrás de um 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. Os bancos de dados do SQL Server autenticam o agente usando a cadeia de conexão e a chave do agente. Este design fornece um alto nível de segurança para seus 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 sua chave no portal, mas não a envie na interface do usuário 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 a partir de um computador diferente do que ele está atualmente, faça o seguinte:

  1. Instale o agente no computador desejado.
  2. Entre no portal do SQL Data Sync e gere novamente uma chave de agente para o novo agente.
  3. Use a interface do usuário do novo agente para enviar a nova chave 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.

Solucionar problemas do Data Sync Agent

A instalação, desinstalação ou reparo do agente 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. Você pode ativar o registro em log em um prompt de comando. 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:

O agente cliente não funciona depois que eu cancelo a desinstalação

O agente cliente não funciona, mesmo depois de cancelar a sua 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:

    • Use services.msc para reinserir as credenciais do agente cliente.
    • Desinstale este agente cliente e, em seguida, instale um novo. Transfira e instale o agente cliente mais recente a partir do Centro de Transferências.

Meu banco de dados não está listado na lista de agentes

Quando você tenta adicionar um banco de dados SQL Server existente a um grupo de sincronização, o banco de dados não aparece na lista de agentes.

Esses cenários podem causar esse problema:

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

  • Resolução. O agente cliente e o grupo de sincronização devem 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 bancos de dados do agente cliente não é atual.

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

    O agente local baixa a lista de bancos de dados associados somente no primeiro envio da chave do agente. Ele não baixa a lista de bancos de dados associados em envios subsequentes de chave de agente. Os bancos de dados registrados durante uma movimentação de agente não aparecem na instância original do agente.

O agente cliente não inicia (Erro 1069)

Você descobre que o agente não está em execução em um computador que hospeda o SQL Server. Quando você tenta iniciar manualmente o agente, você vê uma caixa de diálogo que exibe a mensagem "Erro 1069: O serviço não foi iniciado devido a uma falha de logon".

Data Sync error 1069 dialog box

  • Causa. Uma causa provável desse erro é que a senha no servidor local foi alterada desde que você criou a senha do agente e do agente.

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

    1. Localize o serviço de agente cliente do SQL Data Sync.
      a. Selecione Iniciar.
      b. Na caixa de pesquisa, digite 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 mouse em SQL Data Sync Agent e selecione Parar.
    3. Clique com o botão direito do mouse em SQL Data Sync Agent e selecione Propriedades.
    4. Em Propriedades do SQL Data Sync Agent, selecione a guia Logon .
    5. Na caixa Palavra-passe, introduza a sua palavra-passe .
    6. Na caixa Confirmar palavra-passe, volte a introduzir a sua palavra-passe .
    7. Selecione Apply (Aplicar) e OK.
    8. Na janela Serviços, clique com o botão direito do mouse no serviço SQL Data Sync Agent e selecione Iniciar.
    9. Feche a janela Serviços .

Não consigo enviar a chave do agente

Depois de criar ou recriar uma chave para um agente, tente enviar a chave por meio do aplicativo SqlAzureDataSyncAgent. O envio não foi concluído.

Sync Error dialog box - Can't submit agent key

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

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

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

    • A porta de saída 1433 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 deve satisfazer duas condições:

    • A chave do agente cliente no servidor SQL Data Sync e no computador local deve ser idêntica.
    • A chave do agente cliente pode ser usada apenas 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 fazer com que seu agente volte a trabalhar:

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

    Para aplicar a nova chave ao agente:

    1. No Explorador de Arquivos, vá para o diretório de instalação do agente. O diretório de instalação padrão é C:\Program Files (x86)\Microsoft SQL Data Sync.
    2. Clique duas vezes no subdiretório bin.
    3. Abra o aplicativo SqlAzureDataSyncAgent.
    4. Selecione Enviar chave do agente.
    5. No espaço fornecido, cole a chave da área de transferência.
    6. Selecione OK.
    7. Feche o programa.

O agente cliente não pode ser excluído do portal se seu banco de dados local associado 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 excluído porque o banco de dados inacessível ainda está registrado com o agente. Quando você tenta excluir o agente, o processo de exclusão tenta alcançar o banco de dados, o que falha.

  • Resolução. Use "forçar exclusão" para excluir o banco de dados inacessível.

Nota

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

O aplicativo Agente de Sincronização Local não pode se conectar ao serviço de sincronização local

  • Resolução. Experimente os passos seguintes:

    1. Saia do aplicativo.
    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, clique duas vezes em Serviços.
    3. Pare o serviço SQL Data Sync .
    4. Reinicie o serviço SQL Data Sync .
    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"

Enviar 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

Próximos passos

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