Delen via


Data Sync Agent voor SQL Data Sync

van toepassing op:Azure SQL Database-

Belangrijk

SQL Data Sync wordt op 30 september 2027 buiten gebruik gesteld. Overweeg om te migreren naar alternatieve oplossingen voor gegevensreplicatie/synchronisatie.

Synchroniseer gegevens met SQL Server-databases door de Data Sync Agent voor SQL Data Sync in Azure te installeren en te configureren. Zie Wat is SQL Data Sync voor Azure voor meer informatie over SQL Data Sync?

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

Downloaden en installeren

Waarschuwing

Overweeg om te migreren naar alternatieve oplossingen voor gegevensreplicatie/synchronisatie.

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. Hierdoor wordt de oorspronkelijke Agent overschreven.

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.

Ondersteuning voor on-premises SQL Server-versies

Alleen de volgende versies van SQL Server on-premises kunnen deel uitmaken van een synchronisatiegroep:

  • SQL Server 2008
  • SQL Server 2008 R2
  • SQL Server 2012
  • SQL Server 2016
  • SQL Server 2017 in Windows
  • SQL Server 2019 in Windows
  • SQL Server 2022 in Windows

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 connection string 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 deze momenteel is ingeschakeld en dezelfde agent opnieuw wilt gebruiken, voert u de volgende stappen uit:

  1. Installeer de agent op de gewenste computer.
  2. Meld u aan bij de SQL Data Sync-portal en genereer een agentsleutel opnieuw voor de bestaande agent.
  3. Gebruik de gebruikersinterface van de nieuwe agent om de 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

Het 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 via 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 Windows Installer-logboekregistratie inschakelen 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 niet nadat u de deïnstallatie ervan 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 agentenlijst.

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 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 de clientagentservice en start deze opnieuw.

    De lokale agent downloadt de lijst met gekoppelde databases alleen bij de eerste indiening van de agentsleutel. Het downloadt de lijst met gekoppelde databases niet bij latere indieningen van agentsleutels. Databases die zijn geregistreerd tijdens het verplaatsen van een agent, worden niet weergegeven in het oorspronkelijke agentexemplaren.

Clientagent start niet (fout 1069)

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

Schermopname van het dialoogvenster Data Sync-fout 1069.

  • 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.

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

    1. Zoek de SQL Data Sync-clientagentservice.
      een. Kies Start.
      b. Voer in het zoekvak services.msc in.
      Hoofdstuk 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 Vervolgens Stoppen.
    3. Klik met de rechtermuisknop op SQL Data Sync Agent en selecteer Vervolgens Eigenschappen.
    4. Selecteer op SQL Data Sync Eigenschappen van agent het tabblad Aanmelden.
    5. In het veld Wachtwoord voert u uw wachtwoord in.
    6. In het veld Bevestig wachtwoord voert u uw wachtwoord opnieuw in.
    7. Selecteer Apply en 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 indienen

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.

Schermopname van het dialoogvenster Synchronisatiefout- Kan agentsleutel niet verzenden.

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

    • De Windows-service SQL Data Sync wordt uitgevoerd.

    • Het serviceaccount voor de SQL Data Sync Windows-service heeft toegang tot het netwerk.

    • 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 sleutel van de clientagent op de SQL Data Sync server en de lokale computer moeten identiek zijn.
    • De sleutel van de clientagent kan slechts eenmaal worden gebruikt.
  • Resolutie. 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. Een nieuwe sleutel genereren.
    2. Pas de nieuwe sleutel toe op de agent.

    De nieuwe sleutel toepassen op de agent:

    1. Ga in Bestandenverkenner naar de installatiemap van de 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 aangewezen ruimte.
    6. Kies OK.
    7. Sluit het programma.

De clientagent kan niet worden verwijderd uit de portal als de bijbehorende on-premises database onbereikbaar 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, wat mislukt.

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

Opmerking

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

De lokale synchronisatieagent-app kan geen verbinding maken met de lokale synchronisatieservice

  • Besluit Voer de volgende stappen uit:

    1. De app afsluiten.
    2. Open het deelvenster Component Services.
      een. 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 een ping versturen

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 database volledig gedeprovisioneerd. Als de database deelneemt aan andere synchronisatiegroepen, onderbreekt deze bewerking 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

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