Dela via


Data Sync Agent för SQL Data Sync

Gäller för:Azure SQL Database

Synkronisera data med SQL Server-databaser genom att installera och konfigurera Data Sync Agent för SQL Data Sync i Azure. Mer information om SQL Data Sync finns i Synkronisera data över flera molndatabaser och lokala databaser med SQL Data Sync.

Viktigt!

SQL Data Sync stöder inte Azure SQL Managed Instance eller Azure Synapse Analytics just nu.

Ladda ned och installera

Om du vill ladda ned datasynkroniseringsagenten går du till SQL Data Sync Agent. Om du vill uppgradera datasynkroniseringsagenten installerar du agenten på samma plats som den gamla agenten och åsidosätter den ursprungliga.

Installera tyst

Om du vill installera Data Sync Agent tyst från kommandotolken anger du ett kommando som liknar följande exempel. Kontrollera filnamnet för den nedladdade .msi-filen och ange dina egna värden för argumenten TARGETDIR och SERVICEACCOUNT .

  • Om du inte anger något värde för TARGETDIR är C:\Program Files (x86)\Microsoft SQL Data Sync 2.0standardvärdet .

  • Om du anger LocalSystem som värdet för SERVICEACCOUNT använder du SQL Server-autentisering när du konfigurerar agenten för att ansluta till SQL Server.

  • Om du anger ett domänanvändarkonto eller ett lokalt användarkonto som värdet för SERVICEACCOUNT måste du också ange lösenordet med argumentet SERVICEPASSWORD . Exempel: 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

Synkronisera data med en SQL Server-databas

Information om hur du konfigurerar datasynkroniseringsagenten så att du kan synkronisera data med en eller flera SQL Server-databaser finns i Lägga till en SQL Server-databas.

Vanliga frågor och svar om Data Sync Agent

Varför behöver jag en klientagent?

SQL Data Sync-tjänsten kommunicerar med SQL Server-databaser via klientagenten. Den här säkerhetsfunktionen förhindrar direkt kommunikation med databaser bakom en brandvägg. När SQL Data Sync-tjänsten kommunicerar med agenten gör den det med hjälp av krypterade anslutningar och en unik token eller agentnyckel. SQL Server-databaserna autentiserar agenten med hjälp av anslutningssträngen och agentnyckeln. Den här designen ger en hög säkerhetsnivå för dina data.

Hur många instanser av det lokala agentgränssnittet kan köras

Endast en instans av användargränssnittet kan köras.

Hur kan jag ändra mitt tjänstkonto

När du har installerat en klientagent är det enda sättet att ändra tjänstkontot att avinstallera det och installera en ny klientagent med det nya tjänstkontot.

Hur ändrar jag min agentnyckel

En agentnyckel kan bara användas en gång av en agent. Det går inte att återanvända när du tar bort och sedan installerar om en ny agent och kan inte heller användas av flera agenter. Om du behöver skapa en ny nyckel för en befintlig agent måste du vara säker på att samma nyckel registreras med klientagenten och med SQL Data Sync-tjänsten.

Hur gör jag för att dra tillbaka en klientagent?

Om du omedelbart vill ogiltigförklara eller dra tillbaka en agent återskapar du dess nyckel i portalen men skickar den inte i agentgränssnittet. Om du återskapar en nyckel ogiltigförklaras den tidigare nyckeln oavsett om motsvarande agent är online eller offline.

Hur flyttar jag en klientagent till en annan dator

Om du vill köra den lokala agenten från en annan dator än den är för närvarande gör du följande:

  1. Installera agenten på önskad dator.
  2. Logga in på SQL Data Sync-portalen och återskapa en agentnyckel för den nya agenten.
  3. Använd den nya agentens användargränssnitt för att skicka den nya agentnyckeln.
  4. Vänta medan klientagenten hämtar listan över lokala databaser som registrerades tidigare.
  5. Ange databasautentiseringsuppgifter för alla databaser som visas som oåtkomliga. Dessa databaser måste kunna nås från den nya datorn där agenten är installerad.

Hur tar jag bort databasen för synkroniseringsmetadata om synkroniseringsagenten fortfarande är associerad med den

Om du vill ta bort en synkroniseringsmetadatadatabas som har en synkroniseringsagent associerad med den måste du först ta bort synkroniseringsagenten. Gör följande för att ta bort agenten:

  1. Välj synkroniseringsdatabasen.
  2. Gå till sidan Synkronisera till andra databaser .
  3. Välj synkroniseringsagenten och välj Ta bort.

Felsöka problem med Data Sync Agent

Det går inte att installera, avinstallera eller reparera klientagenten

  • Orsak. Många scenarier kan orsaka det här felet. Titta på loggarna för att fastställa den specifika orsaken till det här felet.

  • Lösning. Om du vill hitta den specifika orsaken till felet genererar du och tittar på Windows Installer-loggarna. Du kan aktivera loggning i en kommandotolk. Om den nedladdade installationsfilen till exempel är SQLDataSyncAgent-2.0-x86-ENU.msigenererar och undersöker du loggfiler med hjälp av följande kommandorader:

    • För installationer: msiexec.exe /i SQLDataSyncAgent-2.0-x86-ENU.msi /l*v LocalAgentSetup.Log

    • För avinstallationer: msiexec.exe /x SQLDataSyncAgent-2.0-x86-ENU.msi /l*v LocalAgentSetup.Log

      Du kan också aktivera loggning för alla installationer som utförs av Windows Installer. Microsoft Knowledge Base-artikeln Så här aktiverar du loggning av Windows Installer med ett klick för att aktivera loggning för Windows Installer. Den innehåller också platsen för loggarna.

Klientagenten fungerar inte när jag har avbrutit avinstallationen

Klientagenten fungerar inte, även när du har avbrutit avinstallationen.

  • Orsak. Detta beror på att SQL Data Sync-klientagenten inte lagrar autentiseringsuppgifter.

  • Lösning. Du kan prova följande två lösningar:

    • Använd services.msc för att ange autentiseringsuppgifterna för klientagenten igen.
    • Avinstallera den här klientagenten och installera sedan en ny. Ladda ned och installera den senaste klientagenten från Download Center.

Min databas visas inte i agentlistan

När du försöker lägga till en befintlig SQL Server-databas i en synkroniseringsgrupp visas inte databasen i listan med agenter.

Dessa scenarier kan orsaka det här problemet:

  • Orsak. Klientagenten och synkroniseringsgruppen finns i olika datacenter.

  • Lösning. Klientagenten och synkroniseringsgruppen måste finnas i samma datacenter. För att konfigurera detta har du två alternativ:

    • Skapa en ny agent i datacentret där synkroniseringsgruppen finns. Registrera sedan databasen med den agenten.
    • Ta bort den aktuella synkroniseringsgruppen. Skapa sedan om synkroniseringsgruppen i det datacenter där agenten finns.
  • Orsak. Klientagentens lista över databaser är inte aktuell.

  • Lösning. Stoppa och starta sedan om klientagenttjänsten.

    Den lokala agenten laddar endast ned listan över associerade databaser vid den första överföringen av agentnyckeln. Den laddar inte ned listan över associerade databaser vid efterföljande agentnyckelöverföringar. Databaser som registreras under en agentflytt visas inte i den ursprungliga agentinstansen.

Klientagenten startar inte (fel 1069)

Du upptäcker att agenten inte körs på en dator som är värd för SQL Server. När du försöker starta agenten manuellt visas en dialogruta som visar meddelandet "Fel 1069: Tjänsten startade inte på grund av ett inloggningsfel".

Data Sync error 1069 dialog box

  • Orsak. En sannolik orsak till det här felet är att lösenordet på den lokala servern har ändrats sedan du skapade agenten och agentlösenordet.

  • Lösning. Uppdatera agentens lösenord till ditt aktuella serverlösenord:

    1. Leta upp klientagenttjänsten för SQL Data Sync.
      a. Välj start.
      b. I sökrutan anger du services.msc.
      c. Välj Tjänster bland sökresultaten.
      d. I fönstret Tjänster bläddrar du till posten för SQL Data Sync Agent.
    2. Högerklicka på SQL Data Sync Agent och välj sedan Stoppa.
    3. Högerklicka på SQL Data Sync Agent och välj sedan Egenskaper.
    4. I EGENSKAPER för SQL Data Sync Agent väljer du fliken Logga in .
    5. I rutan Lösenord anger du ditt lösenord.
    6. I rutan Bekräfta lösenord anger du lösenordet igen.
    7. Välj Använd, och välj OK.
    8. I fönstret Tjänster högerklickar du på SQL Data Sync Agent-tjänsten och väljer sedan Start.
    9. Stäng fönstret Tjänster .

Jag kan inte skicka agentnyckeln

När du har skapat eller återskapat en nyckel för en agent försöker du skicka nyckeln via SqlAzureDataSyncAgent-programmet. Det går inte att slutföra överföringen.

Sync Error dialog box - Can't submit agent key

  • Förutsättningar. Kontrollera följande förutsättningar innan du fortsätter:

    • Windows-tjänsten SQL Data Sync körs.

    • Tjänstkontot för SQL Data Sync Windows-tjänsten har nätverksåtkomst.

    • Den utgående 1433-porten är öppen i din lokala brandväggsregel.

    • Den lokala ip-adressen läggs till i server- eller databasbrandväggsregeln för databasen för synkroniseringsmetadata.

  • Orsak. Agentnyckeln identifierar varje lokal agent unikt. Nyckeln måste uppfylla två villkor:

    • Klientagentnyckeln på SQL Data Sync-servern och den lokala datorn måste vara identisk.
    • Klientagentnyckeln kan bara användas en gång.
  • Lösning. Om agenten inte fungerar beror det på att ett eller båda av dessa villkor inte uppfylls. Så här får du agenten att fungera igen:

    1. Generera en ny nyckel.
    2. Tillämpa den nya nyckeln på agenten.

    Så här tillämpar du den nya nyckeln på agenten:

    1. Gå till installationskatalogen för agenten i Utforskaren. Standardinstallationskatalogen är C:\Program Files (x86)\Microsoft SQL Data Sync.
    2. Dubbelklicka på underkatalogen bin.
    3. Öppna SqlAzureDataSyncAgent-programmet.
    4. Välj Skicka agentnyckel.
    5. I det angivna utrymmet klistrar du in nyckeln från Urklipp.
    6. Välj OK.
    7. Stäng programmet.

Det går inte att ta bort klientagenten från portalen om den associerade lokala databasen inte kan nås

Om en lokal slutpunkt (dvs. en databas) som är registrerad med en SQL Data Sync-klientagent inte kan nås, kan klientagenten inte tas bort.

  • Orsak. Det går inte att ta bort den lokala agenten eftersom den oåtkomliga databasen fortfarande är registrerad hos agenten. När du försöker ta bort agenten försöker borttagningsprocessen nå databasen, vilket misslyckas.

  • Lösning. Använd "force delete" för att ta bort den oåtkomliga databasen.

Kommentar

Om synkroniseringsmetadatatabeller finns kvar efter en "force delete" använder du deprovisioningutil.exe för att rensa dem.

Lokal synkroniseringsagentapp kan inte ansluta till den lokala synkroniseringstjänsten

  • Lösning. Prova följande steg:

    1. Avsluta appen.
    2. Öppna panelen Komponenttjänster.
      a. I sökrutan i aktivitetsfältet anger du services.msc.
      b. Dubbelklicka på Tjänster i sökresultaten.
    3. Stoppa SQL Data Sync-tjänsten.
    4. Starta om SQL Data Sync-tjänsten.
    5. Öppna appen igen.

Kör datasynkroniseringsagenten från kommandotolken

Du kan köra följande datasynkroniseringsagentkommandon från kommandotolken:

Pinga tjänsten

Användning

SqlDataSyncAgentCommand.exe -action pingsyncservice

Exempel

SqlDataSyncAgentCommand.exe -action "pingsyncservice"

Visa registrerade databaser

Användning

SqlDataSyncAgentCommand.exe -action displayregistereddatabases

Exempel

SqlDataSyncAgentCommand.exe -action "displayregistereddatabases"

Skicka agentnyckeln

Användning

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

Exempel

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]

Registrera en databas

Användning

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]

Exempel

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

Avregistrera en databas

När du använder det här kommandot för att avregistrera en databas avetableras databasen helt. Om databasen deltar i andra synkroniseringsgrupper bryter den här åtgärden de andra synkroniseringsgrupperna.

Användning

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

Exempel

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

Uppdatera autentiseringsuppgifter

Användning

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]

Exempel

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

Nästa steg

Mer information om SQL Data Sync finns i följande artiklar: