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.0
standardvä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:
- Installera agenten på önskad dator.
- Logga in på SQL Data Sync-portalen och återskapa en agentnyckel för den nya agenten.
- Använd den nya agentens användargränssnitt för att skicka den nya agentnyckeln.
- Vänta medan klientagenten hämtar listan över lokala databaser som registrerades tidigare.
- 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:
- Välj synkroniseringsdatabasen.
- Gå till sidan Synkronisera till andra databaser .
- 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
Klientagenten fungerar inte när jag har avbrutit avinstallationen
Lokal synkroniseringsagentapp kan inte ansluta till den lokala synkroniseringstjänsten
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.msi
genererar 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".
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:
- 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. - Högerklicka på SQL Data Sync Agent och välj sedan Stoppa.
- Högerklicka på SQL Data Sync Agent och välj sedan Egenskaper.
- I EGENSKAPER för SQL Data Sync Agent väljer du fliken Logga in .
- I rutan Lösenord anger du ditt lösenord.
- I rutan Bekräfta lösenord anger du lösenordet igen.
- Välj Använd, och välj OK.
- I fönstret Tjänster högerklickar du på SQL Data Sync Agent-tjänsten och väljer sedan Start.
- Stäng fönstret Tjänster .
- Leta upp klientagenttjänsten för SQL Data Sync.
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.
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:
- Generera en ny nyckel.
- Tillämpa den nya nyckeln på agenten.
Så här tillämpar du den nya nyckeln på agenten:
- Gå till installationskatalogen för agenten i Utforskaren. Standardinstallationskatalogen är C:\Program Files (x86)\Microsoft SQL Data Sync.
- Dubbelklicka på underkatalogen bin.
- Öppna SqlAzureDataSyncAgent-programmet.
- Välj Skicka agentnyckel.
- I det angivna utrymmet klistrar du in nyckeln från Urklipp.
- Välj OK.
- 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:
- Avsluta appen.
- Öppna panelen Komponenttjänster.
a. I sökrutan i aktivitetsfältet anger du services.msc.
b. Dubbelklicka på Tjänster i sökresultaten. - Stoppa SQL Data Sync-tjänsten.
- Starta om SQL Data Sync-tjänsten.
- Ö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:
- Översikt – Synkronisera data över flera molndatabaser och lokala databaser med SQL Data Sync i Azure
- Konfigurera datasynkronisering
- I portalen – Självstudie: Konfigurera SQL Data Sync för att synkronisera data mellan Azure SQL Database och SQL Server
- Med PowerShell
- Metodtips – Metodtips för Azure SQL Data Sync
- Övervaka – Övervaka SQL Data Sync med Azure Monitor-loggar
- Felsökning – Felsöka problem med Azure SQL Data Sync
- Uppdatera synkroniseringsschemat