Delen via


Data Sync Agent voor SQL Data Sync

Van toepassing op: Azure SQL Database

Synchroniseer gegevens met SQL Server-databases door de Data Sync Agent voor SQL Data Sync in Azure te installeren en te configureren. Zie Gegevens synchroniseren in meerdere cloud- en on-premises databases met SQL Data Sync voor meer informatie over SQL Data Sync.

Belangrijk

SQL Data Sync biedt momenteel geen ondersteuning voor Azure SQL Managed Instance of Azure Synapse Analytics.

Downloaden en installeren

Als u de Data Sync Agent wilt downloaden, gaat u naar SQL Data Sync Agent. Als u de Data Sync-agent wilt upgraden, installeert u de agent op dezelfde locatie als de oude agent en overschrijft u de oorspronkelijke agent.

Op de achtergrond installeren

Als u de Data Sync-agent op de achtergrond wilt installeren vanaf de opdrachtprompt, voert u een opdracht in die vergelijkbaar is met het volgende voorbeeld. Controleer de bestandsnaam van het gedownloade MSI-bestand en geef uw eigen waarden op voor de argumenten TARGETDIR en SERVICEACCOUNT .

  • Als u geen waarde opgeeft voor TARGETDIR, is C:\Program Files (x86)\Microsoft SQL Data Sync 2.0de standaardwaarde .

  • Als u opgeeft LocalSystem als de waarde van SERVICEACCOUNT, gebruikt u SQL Server-verificatie wanneer u de agent configureert om verbinding te maken met SQL Server.

  • Als u een domeingebruikersaccount of een lokaal gebruikersaccount opgeeft als de waarde van SERVICEACCOUNT, moet u ook het wachtwoord opgeven met het argument SERVICEPASSWORD . Bijvoorbeeld: 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

Gegevens synchroniseren met een SQL Server-database

Zie Een SQL Server-database toevoegen als u de Data Sync Agent wilt configureren zodat u gegevens kunt synchroniseren met een of meer SQL Server-databases.

Veelgestelde vragen over Data Sync Agent

Waarom heb ik een clientagent nodig?

De SQL Data Sync-service communiceert met SQL Server-databases via de clientagent. Deze beveiligingsfunctie voorkomt directe communicatie met databases achter een firewall. Wanneer de SQL Data Sync-service communiceert met de agent, doet deze dit met behulp van versleutelde verbindingen en een unieke token- of agentsleutel. De SQL Server-databases verifiëren de agent met behulp van de verbindingsreeks en agentsleutel. Dit ontwerp biedt een hoog beveiligingsniveau voor uw gegevens.

Hoeveel exemplaren van de gebruikersinterface van de lokale agent kunnen worden uitgevoerd

Er kan slechts één exemplaar van de gebruikersinterface worden uitgevoerd.

Hoe kan ik mijn serviceaccount wijzigen?

Nadat u een clientagent hebt geïnstalleerd, kunt u het serviceaccount alleen wijzigen door het te verwijderen en een nieuwe clientagent te installeren met het nieuwe serviceaccount.

Hoe wijzig ik mijn agentsleutel?

Een agentsleutel kan slechts eenmaal worden gebruikt door een agent. Het kan niet opnieuw worden gebruikt wanneer u een nieuwe agent verwijdert en vervolgens opnieuw installeert, noch door meerdere agents kan worden gebruikt. Als u een nieuwe sleutel voor een bestaande agent moet maken, moet u ervoor zorgen dat dezelfde sleutel wordt vastgelegd met de clientagent en met de SQL Data Sync-service.

Hoe kan ik een clientagent buiten gebruik stellen

Als u een agent onmiddellijk ongeldig wilt maken of buiten gebruik wilt stellen, genereert u de sleutel opnieuw in de portal, maar verzendt u deze niet in de gebruikersinterface van de agent. Door een sleutel opnieuw te genereren, wordt de vorige sleutel ongeldig, ongeacht of de bijbehorende agent online of offline is.

Hoe verplaats ik een clientagent naar een andere computer?

Als u de lokale agent vanaf een andere computer wilt uitvoeren dan op dit moment, doet u het volgende:

  1. Installeer de agent op de gewenste computer.
  2. Meld u aan bij de SQL Data Sync-portal en genereer een agentsleutel voor de nieuwe agent.
  3. Gebruik de gebruikersinterface van de nieuwe agent om de nieuwe agentsleutel in te dienen.
  4. Wacht totdat de clientagent de lijst met on-premises databases downloadt die eerder zijn geregistreerd.
  5. Geef databasereferenties op voor alle databases die worden weergegeven als onbereikbaar. Deze databases moeten bereikbaar zijn vanaf de nieuwe computer waarop de agent is geïnstalleerd.

Hoe verwijder ik de database met synchronisatiemetagegevens als de synchronisatieagent er nog steeds aan is gekoppeld

Als u een synchronisatiemetagegevensdatabase wilt verwijderen waaraan een synchronisatieagent is gekoppeld, moet u eerst de synchronisatieagent verwijderen. Ga als volgt te werk om de agent te verwijderen:

  1. Selecteer de synchronisatiedatabase.
  2. Ga naar de pagina Synchroniseren met andere databases .
  3. Selecteer de synchronisatieagent en selecteer Verwijderen.

Problemen met data sync-agent oplossen

Installeren, verwijderen of herstellen van de clientagent mislukt

  • Oorzaak. Veel scenario's kunnen deze fout veroorzaken. Bekijk de logboeken om de specifieke oorzaak van deze fout te achterhalen.

  • Oplossing. Als u de specifieke oorzaak van de fout wilt vinden, genereert en bekijkt u de Windows Installer-logboeken. U kunt logboekregistratie inschakelen bij een opdrachtprompt. Als het gedownloade installatiebestand bijvoorbeeld is SQLDataSyncAgent-2.0-x86-ENU.msi, genereert en onderzoekt u logboekbestanden met behulp van de volgende opdrachtregels:

    • Voor installaties: msiexec.exe /i SQLDataSyncAgent-2.0-x86-ENU.msi /l*v LocalAgentSetup.Log

    • Voor verwijderingen: msiexec.exe /x SQLDataSyncAgent-2.0-x86-ENU.msi /l*v LocalAgentSetup.Log

      U kunt ook logboekregistratie inschakelen voor alle installaties die worden uitgevoerd door Windows Installer. Het Microsoft Knowledge Base-artikel Over het inschakelen van Windows Installer-logboekregistratie biedt een oplossing met één klik om logboekregistratie in te schakelen voor Windows Installer. Het biedt ook de locatie van de logboeken.

De clientagent werkt niet nadat ik het verwijderen heb geannuleerd

De clientagent werkt niet, zelfs nadat u de verwijdering hebt geannuleerd.

  • Oorzaak. Dit gebeurt omdat de SQL Data Sync-clientagent geen referenties opslaat.

  • Oplossing. U kunt deze twee oplossingen proberen:

    • Gebruik services.msc om de referenties voor de clientagent opnieuw in te voeren.
    • Verwijder deze clientagent en installeer vervolgens een nieuwe. Download en installeer de nieuwste clientagent vanuit het Downloadcentrum.

Mijn database wordt niet vermeld in de lijst met agents

Wanneer u probeert een bestaande SQL Server-database toe te voegen aan een synchronisatiegroep, wordt de database niet weergegeven in de lijst met agents.

Deze scenario's kunnen dit probleem veroorzaken:

  • Oorzaak. De clientagent en synchronisatiegroep bevinden zich in verschillende datacenters.

  • Oplossing. De clientagent en de synchronisatiegroep moeten zich in hetzelfde datacenter bevinden. U kunt dit instellen door twee opties te kiezen:

    • Maak een nieuwe agent in het datacenter waar de synchronisatiegroep zich bevindt. Registreer vervolgens de database bij die agent.
    • Verwijder de huidige synchronisatiegroep. Maak vervolgens de synchronisatiegroep opnieuw in het datacenter waar de agent zich bevindt.
  • Oorzaak. De lijst met databases van de clientagent is niet actueel.

  • Oplossing. Stop en start de clientagentservice opnieuw op.

    De lokale agent downloadt de lijst met gekoppelde databases alleen bij de eerste verzending van de agentsleutel. De lijst met gekoppelde databases wordt niet gedownload voor volgende agentsleutelinzendingen. Databases die zijn geregistreerd tijdens het verplaatsen van een agent, worden niet weergegeven in het oorspronkelijke agentexemplaren.

Clientagent wordt niet gestart (fout 1069)

U ontdekt dat de agent niet wordt uitgevoerd op een computer waarop SQL Server wordt gehost. Wanneer u probeert de agent handmatig te starten, ziet u een dialoogvenster met het bericht 'Fout 1069: De service is niet gestart vanwege een aanmeldingsfout'.

Data Sync error 1069 dialog box

  • Oorzaak. Een waarschijnlijke oorzaak van deze fout is dat het wachtwoord op de lokale server is gewijzigd sinds u het agent- en agentwachtwoord hebt gemaakt.

  • Oplossing. Werk het wachtwoord van de agent bij naar uw huidige serverwachtwoord:

    1. Zoek de SQL Data Sync-clientagentservice.
      a. Selecteer Starten.
      b. Voer services.msc in het zoekvak in.
      c. Selecteer Services in de zoekresultaten.
      d. Schuif in het venster Services naar de vermelding voor SQL Data Sync Agent.
    2. Klik met de rechtermuisknop op SQL Data Sync Agent en selecteer Stoppen.
    3. Klik met de rechtermuisknop op SQL Data Sync Agent en selecteer Vervolgens Eigenschappen.
    4. Selecteer in de eigenschappen van de SQL Data Sync-agent het tabblad Aanmelden.
    5. Voer uw wachtwoord in het vak Wachtwoord in.
    6. Voer uw wachtwoord opnieuw in het vak Wachtwoord bevestigen in.
    7. Selecteer Toepassen en selecteer vervolgens OK.
    8. Klik in het venster Services met de rechtermuisknop op de SQL Data Sync Agent-service en selecteer vervolgens Start.
    9. Sluit het venster Services .

Ik kan de agentsleutel niet verzenden

Nadat u een sleutel voor een agent hebt gemaakt of opnieuw hebt gemaakt, probeert u de sleutel te verzenden via de toepassing SqlAzureDataSyncAgent. De inzending kan niet worden voltooid.

Sync Error dialog box - Can't submit agent key

  • Vereisten. Voordat u verdergaat, controleert u de volgende vereisten:

    • De SQL Data Sync Windows-service wordt uitgevoerd.

    • Het serviceaccount voor de WINDOWS-service SQL Data Sync heeft netwerktoegang.

    • De uitgaande poort 1433 is geopend in uw lokale firewallregel.

    • Het lokale IP-adres wordt toegevoegd aan de firewallregel voor de server of database voor de database met synchronisatiemetagegevens.

  • Oorzaak. De agentsleutel identificeert elke lokale agent op unieke wijze. De sleutel moet aan twee voorwaarden voldoen:

    • De clientagentsleutel op de SQL Data Sync-server en de lokale computer moeten identiek zijn.
    • De clientagentsleutel kan slechts één keer worden gebruikt.
  • Oplossing. Als uw agent niet werkt, is dit omdat niet aan een of beide voorwaarden wordt voldaan. Ga als volgende te werk om uw agent weer te laten werken:

    1. Genereer een nieuwe sleutel.
    2. Pas de nieuwe sleutel toe op de agent.

    De nieuwe sleutel toepassen op de agent:

    1. Ga in Verkenner naar de installatiemap van uw agent. De standaardinstallatiemap is C:\Program Files (x86)\Microsoft SQL Data Sync.
    2. Dubbelklik op de submap bin.
    3. Open de toepassing SqlAzureDataSyncAgent.
    4. Selecteer Agentsleutel verzenden.
    5. Plak de sleutel van het Klembord in de beschikbare ruimte.
    6. Selecteer OK.
    7. Sluit het programma.

De clientagent kan niet worden verwijderd uit de portal als de bijbehorende on-premises database niet bereikbaar is

Als een lokaal eindpunt (dat wil gezegd een database) die is geregistreerd bij een SQL Data Sync-clientagent onbereikbaar wordt, kan de clientagent niet worden verwijderd.

  • Oorzaak. De lokale agent kan niet worden verwijderd omdat de onbereikbare database nog steeds is geregistreerd bij de agent. Wanneer u de agent probeert te verwijderen, probeert het verwijderingsproces de database te bereiken. Dit mislukt.

  • Oplossing. Gebruik 'forceer verwijderen' om de onbereikbare database te verwijderen.

Notitie

Als de tabellen met synchronisatiemetagegevens na een 'geforceerde verwijdering' blijven staan, kunt deprovisioningutil.exe u deze opschonen.

De app Local Sync Agent kan geen verbinding maken met de lokale synchronisatieservice

  • Oplossing. Voer de volgende stappen uit:

    1. Sluit de app af.
    2. Open het deelvenster Component Services.
      a. Voer in het zoekvak op de taakbalk services.msc in.
      b. Dubbelklik in de zoekresultaten op Services.
    3. Stop de SQL Data Sync-service .
    4. Start de SQL Data Sync-service opnieuw.
    5. de app opnieuw openen.

De Data Sync-agent uitvoeren vanaf de opdrachtprompt

U kunt de volgende Data Sync Agent-opdrachten uitvoeren vanaf de opdrachtprompt:

De service pingen

Gebruik

SqlDataSyncAgentCommand.exe -action pingsyncservice

voorbeeld

SqlDataSyncAgentCommand.exe -action "pingsyncservice"

Geregistreerde databases weergeven

Gebruik

SqlDataSyncAgentCommand.exe -action displayregistereddatabases

voorbeeld

SqlDataSyncAgentCommand.exe -action "displayregistereddatabases"

De agentsleutel verzenden

Gebruik

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

voorbeeld

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]

Een database registreren

Gebruik

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]

Voorbeelden

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

Registratie van een database ongedaan maken

Wanneer u deze opdracht gebruikt om de registratie van een database ongedaan te maken, wordt de inrichting van de database volledig ongedaan gemaakt. Als de database deelneemt aan andere synchronisatiegroepen, wordt deze bewerking verbroken door de andere synchronisatiegroepen.

Gebruik

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

voorbeeld

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

Referenties bijwerken

Gebruik

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]

Voorbeelden

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

Volgende stappen

Zie de volgende artikelen voor meer informatie over SQL Data Sync: