Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:Azure SQL Database
Important
SQL Data Sync går i pension den 30 september 2027. Överväg att migrera till alternativa lösningar för datareplikering och synkronisering. Som en del av avgångsprocessen kan du inte skapa nya synkroniseringsgrupper i Azure-prenumerationer som inte tidigare använde SQL Data Sync. Befintliga synkroniseringsgrupper kan fortsätta fungera fram till pensionsdatumet, men du bör migrera dem till en alternativ lösning innan det datumet.
Den här artikeln beskriver hur man felsöker kända problem med SQL Data Sync i Azure. Om det finns en lösning på ett problem finns den här.
En översikt över SQL Data Sync finns i Vad är SQL Data Sync för Azure?
SQL Data Sync stöder inte Azure SQL Managed Instance eller Azure Synapse Analytics.
Synkroniseringsproblem
Min synkroniseringsgrupp har fastnat i bearbetningstillståndet
Jag ser inkonsekventa primärnyckeldata efter en lyckad synkronisering
Synkroniseringen misslyckas i portalens gränssnitt för lokala databaser som är kopplade till klientagenten
Synkronisering misslyckas i SQL Data Sync-portalens användargränssnitt för lokala databaser som är associerade med klientagenten. På den lokala datorn där agenten körs ser du System.IO.IOException-fel i händelseloggen. Felen säger att disken inte har tillräckligt med utrymme.
Orsak. Enheten har inte tillräckligt med lagringsutrymme.
Lösning. Skapa mer utrymme på den enhet där katalogen %TEMP% finns.
Min synkroniseringsgrupp fastnar i bearbetningstillståndet
En synkroniseringsgrupp i SQL Data Sync har varit i bearbetningstillståndet under en lång tid. Den svarar inte på stoppkommandot , och loggarna visar inga nya poster.
Något av följande villkor kan leda till att en synkroniseringsgrupp fastnar i bearbetningstillståndet:
Orsak. Kundagenten är offline
Lösning. Se till att klientagenten är online och försök sedan igen.
Orsak. Klientagenten är avinstallerad eller saknas.
Lösning. Om klientagenten är avinstallerad eller på annat sätt saknas:
- Ta bort agentens XML-fil från installationsmappen för SQL Data Sync, om filen finns.
- Installera agenten på en lokal dator (det kan vara samma eller en annan dator). Skicka agentnyckeln som genereras i portalen för den agent som visas som offline.
Orsak. SQL Data Sync-tjänsten har stoppats.
Lösning. Starta om SQL Data Sync-tjänsten.
- Sök efter Tjänster på startmenyn.
- Välj Tjänster bland sökresultaten.
- Leta reda på tjänsten SQL Data Sync.
- Om tjänststatusen är Stoppad, högerklicka på tjänstenamnet och välj sedan Start.
Note
Om föregående information inte flyttar din synkroniseringsgrupp ur bearbetningstillståndet kan Microsoft Support återställa statusen för din synkroniseringsgrupp. Om du vill återställa statusen för din synkroniseringsgrupp skapar du ett inlägg på
Jag ser felaktig data i mina tabeller
Om tabeller som har samma namn men som kommer från olika databasscheman ingår i en synkronisering visas felaktiga data i tabellerna efter synkroniseringen.
Orsak. SQL Data Sync-etableringsprocessen använder samma spårningstabeller för tabeller som har samma namn men som finns i olika scheman. Därför återspeglas ändringar från båda tabellerna i samma spårningstabell. Detta gör att ändringar i data blir felaktiga under synkroniseringen.
Lösning. Se till att namnen på tabeller som ingår i en synkronisering är olika, även om tabellerna tillhör olika scheman i en databas.
Jag ser inkonsekventa primärnyckeldata efter en lyckad synkronisering
En synkronisering rapporteras som lyckad och loggen visar inga misslyckade eller överhoppade rader, men du ser att primärnyckeldata är inkonsekventa mellan databaserna i synkroniseringsgruppen.
Orsak. Detta är avsiktligt. Ändringar i en primärnyckelkolumn resulterar i inkonsekventa data på de rader där primärnyckeln ändrades.
Lösning. Du kan förhindra det här problemet genom att se till att inga data i en primärnyckelkolumn ändras. Om problemet redan har inträffat kan du åtgärda det genom att ta bort raden med inkonsekventa data från alla slutpunkter i synkroniseringsgruppen. Infoga sedan raden på nytt.
Jag ser en betydande försämring i prestandan
Din prestanda har försämrats avsevärt, kanske till den grad att du inte ens kan öppna Data Sync-användargränssnittet.
Orsak. Det beror troligtvis på en synkroniseringsloop. En synkroniseringsloop inträffar när en synkronisering av synkroniseringsgrupp A utlöser en synkronisering av synkroniseringsgrupp B, som sedan utlöser en synkronisering av synkroniseringsgrupp A. Den faktiska situationen kan vara mer komplex och kan omfatta fler än två synkroniseringsgrupper i loopen. Problemet är att synkroniseringen utlöses cirkulärt eftersom synkroniseringsgrupperna överlappar varandra.
Lösning. Den bästa lösningen är att vidta förebyggande åtgärder. Se till att du inte har cirkelreferenser i dina synkroniseringsgrupper. Ingen rad som synkroniseras av en synkroniseringsgrupp kan synkroniseras av en annan synkroniseringsgrupp.
Jag ser detta meddelande: "Kan inte infoga värdet NULL i kolumnen<>. Kolumnen tillåter inte nuller." Vad betyder detta, och hur kan jag åtgärda det?
Det här felmeddelandet anger att något av följande två problem har uppstått:
- En tabell har ingen primärnyckel. För att lösa detta problem, lägg till en primärnyckel till alla tabeller du synkar.
- Det finns en WHERE-klausul i din CREATE INDEX-instruktion. Data Sync hanterar inte det här villkoret. För att lösa detta problem, ta bort WHERE-klausulen eller gör manuellt ändringar i alla databaser.
Hur hanterar Data Sync cirkulära referenser? Det vill säga, när samma data synkas i flera synkgrupper och fortsätter att ändras som ett resultat?
Data Sync hanterar inte cirkelreferenser. Se till att undvika detta.
Kundagentproblem
För att felsöka problem med klientagenten, se Felsök problem med Data Sync Agent.
Problem med konfiguration och underhåll
Jag får meddelandet "disk out of space"
Orsak. Det kan visas ett meddelande om att disken har slut på utrymme om överblivna filer behöver tas bort. Detta kan bero på antivirusprogram eller att filer är öppna när borttagningsåtgärder görs.
Lösning. Radera manuellt synkfilerna som finns i %temp%-mappen (
del \*sync\* /s). Ta sedan bort underkatalogerna i mappen %temp%.
Important
Radera inga filer medan synkroniseringen pågår.
Jag kan inte radera min synkgrupp
Ditt försök att ta bort en synkroniseringsgrupp misslyckas. Något av följande kan göra att det inte går att ta bort en synkroniseringsgrupp:
Orsak. Klientagenten är offline.
Lösning. Se till att kundagenten är online och försök sedan igen.
Orsak. Klientagenten är avinstallerad eller saknas.
Lösning. Om klientagenten är avinstallerad eller på annat sätt saknas:
a. Ta bort agentens XML-fil från installationsmappen för SQL Data Sync, om filen finns.
b. Installera agenten på en lokal dator (det kan vara samma eller en annan dator). Skicka agentnyckeln som genereras i portalen för den agent som visas som offline.Orsak. En databas är offline.
Lösning. Se till att alla dina databaser finns online.
Orsak. Synkroniseringsgruppen provisionerar eller synkar.
Lösning. Vänta tills provisionerings- eller synkroniseringsprocessen är klar och försök sedan ta bort synkroniseringsgruppen igen.
Jag kan inte avregistrera en SQL Server-databas
Orsak. Troligtvis försöker du avregistrera en databas som redan har tagits bort.
Lösning. För att avregistrera en SQL Server-databas, välj databasen och välj sedan Tvinga borttagning.
Gör följande om det inte går att ta bort databasen från synkroniseringsgruppen med den åtgärden:
- Stoppa och starta sedan om klientagentens värdtjänst:
a. Välj Start-menyn .
b. Ange services.msc i sökrutan.
C. Dubbelklicka på Tjänster i avsnittet Program i sökresultatfönstret.
d. Högerklicka på SQL Data Sync-tjänsten.
e. Om tjänsten körs stoppar du den.
f. Högerklicka på tjänsten och välj sedan Starta.
g. Kontrollera om databasen fortfarande är registrerad. Om den inte längre är registrerad är du klar. Annars går du vidare till nästa steg. - Öppna client agent-appen (SqlAzureDataSyncAgent).
- Välj Redigera inloggningsuppgifter och ange sedan inloggningsuppgifterna för databasen.
- Fortsätt med avregistreringen.
- Stoppa och starta sedan om klientagentens värdtjänst:
Jag har inte tillräckliga rättigheter för att starta systemtjänster
Orsak. Det här felet uppstår i två situationer:
- Användarnamnet och/eller lösenordet är felaktiga.
- Det angivna användarkontot har inte tillräckliga behörigheter för att logga in som en tjänst.
Lösning. Bevilja ”Logga in som en tjänst”-behörighet till användarkontot:
- Gå till Start>Kontrollpanelen>Administrativa verktyg>Lokal säkerhetsprincip>Lokala principer>Tilldelning av användarrättigheter.
- Välj Logga in som tjänst.
- I dialogrutan Egenskaper , lägg till användarkontot.
- Tryck på Tillämpa och välj sedan OK.
- Stäng alla fönster.
En databas har status som "Föråldrad"
Orsak. SQL Data Sync tar bort databaser som har varit offline från tjänsten i 45 dagar eller mer (räknat från den tidpunkt då databasen gick offline). Om en databas är offline i 45 dagar eller mer och sedan kommer tillbaka online får den status inaktuell.
Lösning. Du kan undvika statusen Inaktuell genom att se till att ingen av dina databaser är offline i 45 dagar eller längre.
Om en databass status är föråldrad:
- Ta bort databasen som har statusen Inaktuell från synkroniseringsgruppen.
- Lägg till databasen igen i synkgruppen.
Warning
Du förlorar alla ändringar som gjorts i denna databas medan den var offline.
En synkroniseringsgrupp har statusen "Föråldrad"
Orsak. Om en eller flera ändringar inte gäller för hela kvarhållningsperioden på 45 dagar kan en synkroniseringsgrupp bli föråldrad.
Lösning. För att undvika statusen inaktuell för en synkroniseringsgrupp bör du regelbundet granska resultaten av dina synkroniseringsjobb i historikvyn. Undersök och åtgärda eventuella ändringar som inte gäller.
Om en synkroniseringsgrupps status är Föråldrad, ta bort synkgruppen och skapa den på nytt.
En synkroniseringsgrupp kan inte raderas inom tre minuter efter avinstallation eller stopp av agenten
Du kan inte ta bort en synkroniseringsgrupp inom tre minuter efter att den associerade SQL Data Sync-klientagenten har avinstallerats eller stoppats.
Lösning.
- Ta bort en synkroniseringsgrupp medan de tillhörande synkroniseringsagenterna är online (rekommenderas).
- Om agenten är offline men är installerad, anslut den på den lokala datorn. Vänta tills agentens status visas som Online i SQL Data Sync-portalen. Ta sedan bort synkroniseringsgruppen.
- Om agenten är offline för att den avinstallerades:
a. Ta bort agentens XML-fil från installationsmappen för SQL Data Sync, om filen finns.
b. Installera agenten på en lokal dator (det kan vara samma eller en annan dator). Skicka agentnyckeln som genereras i portalen för den agent som visas som offline.
C. Försök att ta bort synkroniseringsgruppen.
Vad händer när jag återställer en förlorad eller korrupt databas?
Om du återställer en förlorad eller skadad databas från en säkerhetskopia kan det finnas bristande konvergens i data i de synkroniseringsgrupper som databasen tillhör.
Felmeddelandet ”Sync0022 Kunden har inte behörighet att utföra åtgärden syncGroupOperationResults/read”
Om du får felmeddelandet Sync0022 Customer does not have authorization to perform action 'syncGroupOperationResults/read'har kontot som försöker operationen inte tillräckliga prenumerationsbehörigheter. Lägg till:
- "Microsoft.Sql/locations/syncMemberOperationResults/read"
- "Microsoft.Sql/locations/syncAgentOperationResults/read"
- "Microsoft.Sql/locations/syncGroupOperationResults/read"
Mer information finns i RBAC för åtgärder för resursleverantörer och SQL Data Sync-databaskonton med lägsta nödvändiga behörighet.
Relaterat innehåll
- Vad är SQL Data Sync för Azure?
- Självstudie: Konfigurera SQL Data Sync mellan databaser i Azure SQL Database och SQL Server
- Använda PowerShell för att synkronisera data mellan flera databaser i Azure SQL Database
- Använda PowerShell för att synkronisera data mellan SQL Database och SQL Server
- Data Sync Agent för SQL Data Sync
- Metodtips för Azure SQL Data Sync
- Övervaka och prestandajustering i Azure SQL Database och Azure SQL Managed Instance
- Vad är Azure SQL Database?
- Livscykelhantering för databaser