Data Sync Agent para Sincronização de Dados SQL

Aplica-se a:Banco de Dados SQL do Azure

Sincronizar dados com bancos de dados do SQL Server instalando e configurando o Data Sync Agent para Sincronização de Dados SQL do Azure. Para obter mais informações sobre a Sincronização de Dados SQL, consulte Sincronizar dados entre vários bancos de dados locais e de nuvem com a Sincronização de Dados SQL do Azure.

Importante

No momento, a Sincronização de Dados SQL não dá suporte à Instância Gerenciada de SQL do Azure nem ao Azure Synapse Analytics.

Baixar e instalar

Para baixar o Data Sync Agent, vá para SQL Data Sync Agent. Para atualizar o Data Sync Agent, instale o Agente no mesmo local que o Agente antigo e ele substituirá o original.

Instalar silenciosamente

Para instalar silenciosamente o Agente de Sincronização de Dados a partir do prompt de comando, digite um comando semelhante ao exemplo a seguir. Verifique o nome de arquivo do arquivo .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 precisará 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 Data Sync Agent para sincronizar os dados com um ou mais bancos de dados do SQL Server, confira Adicionar um banco de dados do SQL Server.

Perguntas frequentes sobre o Agente de Sincronização de Dados

Por que preciso um agente cliente

O serviço de Sincronização de Dados SQL se comunica com os bancos de dados do SQL Server através do agente do cliente. Esse recurso de segurança impede a comunicação direta com bancos de dados por trás de um firewall. Quando o serviço de Sincronização de Dados SQL se comunica com o agente, ele faz isso usando conexões criptografadas e um token exclusivo ou chave do agente. Os bancos de dados do SQL Server autenticam o agente usando a chave de agente e a cadeia de caracteres de conexão. Esse 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

Pode ser executada apenas uma instância da interface do usuário.

Como posso alterar minha conta de serviço

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

Como altero minha chave de agente

Uma chave de agente só pode ser usada uma vez por um agente. Ela não pode ser reutilizada 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, você deve ter certeza de que a mesma chave está registrada com o agente do cliente e o serviço de Sincronização de Dados SQL.

Como fazer para desativar um agente cliente

Para invalidar ou desativar um agente imediatamente, regenere a chave no portal, mas não a envie na interface de usuário do agente. Gerar novamente uma chave invalida a chave anterior, independentemente se o agente correspondente estiver online ou offline.

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

Se você deseja executar o agente local em um computador diferente que está atualmente no, siga estas etapas:

  1. Instale o agente no computador desejado.
  2. Faça logon no portal de Sincronização de Dados SQL e regenere uma chave de agente para o novo agente.
  3. Use a interface de usuário do novo agente para enviar a nova chave de agente.
  4. Aguarde enquanto o agente de cliente faz o download da lista de bancos de dados local 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 do novo computador no qual o agente está instalado.

Como fazer para excluir o banco de dados de metadados de sincronização se o agente de sincronização 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, primeiro, exclua o agente de sincronização. Para excluir o agente, faça o seguinte:

  1. Selecione o banco de dados de sincronização.
  2. Acesse a página Sincronizar com outros bancos de dados.
  3. Selecione o agente de sincronização e clique em Excluir.

Solucione os problemas do Agente de Sincronização de Dados

Falhas de instalação, desinstalação ou reparo de agente cliente

  • Causa. Muitos cenários podem causar a falha. Para determinar a causa específica dessa falha, você precisa examinar os logs.

  • Resolução. Para encontrar a causa específica para a falha ocorrida, você precisa gerar e examinar os logs do Windows Installer. Ative o log no prompt de comando. Por exemplo, se o arquivo de instalação baixado for SQLDataSyncAgent-2.0-x86-ENU.msi, gere e examine os 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 habilite o log para todas as instalações executadas pelo Windows Installer. O artigo da Base de Dados de Conhecimento Microsoft Como habilitar o log do Windows Installer fornece uma solução com um clique para ativar o log do Windows Installer. Ele também fornece o local desses logs.

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

O agente cliente não funciona mesmo após você cancelar a desinstalação.

  • Causa. Esse problema ocorre porque o agente cliente da Sincronização de Dados SQL não armazena credenciais.

  • Resolução. Você pode tentar estas duas soluções:

    • Use services.msc para reinserir suas credenciais do agente cliente.
    • Desinstale esse agente cliente e instale um novo. Baixe e instale o último agente cliente no Centro de Download.

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

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

Estes cenários podem causar esse problema:

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

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

    • Crie um novo agente no data center no qual o grupo de sincronização está localizado. Em seguida, registre o banco de dados nesse agente.
    • Exclua o grupo de sincronização atual. Em seguida, crie novamente o grupo de sincronização no data center no qual o agente está localizado.
  • Causa. A lista de bancos de dados do agente cliente não é atual.

  • Resolução. Pare e, em seguida, 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 de chave do agente subsequentes. Os bancos de dados registrados durante uma movimentação do agente não aparecem na instância do agente original.

O agente cliente não é iniciado (erro 1069)

Você descobriu que o agente não está sendo executado em um computador que hospeda o SQL Server. Ao tentar iniciar o agente manualmente, você obtém uma caixa de diálogo de erro com a mensagem de erro “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, já que você criou o agente e a senha do agente.

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

    1. Localize o serviço do agente do cliente da Sincronização de Dados SQL.
      a. Selecione Iniciar.
      b. Insira services.msc na caixa de pesquisa.
      c. Nos resultados da pesquisa, selecione Serviços.
      d. Na janela Serviços, role até a entrada de Agente da Sincronização de Dados SQL.
    2. Clique com o botão direito do mouse em Agente da Sincronização de Dados SQL e, em seguida, selecione Parar.
    3. Clique com o botão direito do mouse em Agente da Sincronização de Dados SQL e, em seguida, selecione Propriedades.
    4. Em Propriedades do Agente da Sincronização de Dados SQL, selecione a guia Fazer Logon.
    5. Na caixa de Senha, insira sua senha.
    6. Na caixa de Confirmar Senha, insira sua senha novamente.
    7. Selecione Aplicar e, depois, OK.
    8. Na janela Serviços, clique com o botão direito do mouse no serviço Agente da Sincronização de Dados SQL e clique em 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, você tenta enviar essa chave pelo aplicativo SqlAzureDataSyncAgent. O envio não é concluído.

Sync Error dialog box - Can't submit agent key

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

    • O serviço Windows Sincronização de Dados SQL está em execução.

    • A conta de serviço do serviço Windows de versão prévia da Sincronização de Dados SQL 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 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 atender às duas condições:

    • A chave do agente cliente no servidor da Sincronização de Dados SQL e o computador local devem ser idênticos.
    • A chave do agente cliente pode ser usada apenas uma vez.
  • Resolução. Se o agente não estiver funcionando, isso indicará que uma ou ambas as condições não foram atendidas. Para fazer com que o agente funcione novamente:

    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á até o diretório de instalação do agente. O diretório de instalação padrão é C:Arquivos de Programa (x86)Sincronização de Dados SQL da Microsoft.
    2. Clique duas vezes no subdiretório.
    3. Abra o aplicativo SqlAzureDataSyncAgent.
    4. Selecione Enviar Chave do Agente.
    5. Cole a chave da área de transferência no espaço fornecido.
    6. Selecione OK.
    7. Feche o programa.

O agente cliente não poderá ser excluído do portal se o banco de dados local associado estiver inacessível

Se um ponto de extremidade local (ou seja, um banco de dados) registrado em um agente cliente da Sincronização de Dados SQL ficar 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 no agente. Quando você tenta excluir o agente, o processo de exclusão tenta acessar o banco de dados, o que falha.

  • Resolução. Use uma “exclusão forçada” para excluir o banco 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.

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

  • Resolução. Experimente as etapas a seguir:

    1. Saia do aplicativo.
    2. Abra o Painel de Serviços de Componentes.
      a. Na caixa de pesquisa da barra de tarefas, digite services.msc.
      b. Clique duas vezes em Serviços nos resultados da pesquisa.
    3. Pare o serviço de Sincronização de Dados SQL.
    4. Reinicie o serviço de Sincronização de Dados SQL.
    5. Reabra o aplicativo.

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

Você pode executar os seguintes comandos do Agente de Sincronização de Dados a partir do prompt de comando:

Execute ping no serviço

Uso

SqlDataSyncAgentCommand.exe -action pingsyncservice

Exemplo

SqlDataSyncAgentCommand.exe -action "pingsyncservice"

Exiba os bancos de dados registrados

Uso

SqlDataSyncAgentCommand.exe -action displayregistereddatabases

Exemplo

SqlDataSyncAgentCommand.exe -action "displayregistereddatabases"

Envie a chave do agente

Uso

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]

Registre um banco de dados

Uso

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

Cancele 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 fizer parte de outros grupos de sincronização, essa operação interrompe os outros grupos de sincronização.

Uso

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

Exemplo

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

Atualizar credenciais

Uso

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óximas etapas

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