Troubleshoot issues with SQL Data Sync

A következőre vonatkozik: Azure SQL Database

Ez a cikk azt ismerteti, hogyan háríthatja el az Azure-beli SQL-adatszinkronizálás ismert problémáit. Ha van megoldás egy problémára, itt találja.

A SQL-adatszinkronizálás áttekintése: Adatok szinkronizálása több felhőbeli és helyszíni adatbázison az Azure-ban SQL-adatszinkronizálás.

Fontos

SQL-adatszinkronizálás jelenleg nem támogatja a felügyelt Azure SQL-példányt vagy az Azure Synapse Analyticset.

Sync issues

A szinkronizálás nem sikerül a portál felhasználói felületén az ügyfélügynökhöz társított helyszíni adatbázisok esetében

A szinkronizálás nem sikerül az SQL-adatszinkronizálás portáljának felhasználói felületén az ügyfélügynökhöz társított helyszíni adatbázisok esetében. Az ügynököt futtató helyi számítógépen hibák láthatók System.IO.IOException az eseménynaplóban. A hibaüzenetek szerint nincs elegendő szabad terület a lemezen.

  • Ok. A meghajtón nincs elegendő szabad terület.

  • Megoldás. Szabadítson fel területet azon a meghajtón, amelyen a %TEMP% könyvtár található.

A szinkronizálási csoport elakad feldolgozási állapotban

Az SQL-adatszinkronizálás szinkronizálási csoportja hosszú ideje a folyamatban lévő feldolgozást jelző állapotban van. Nem válaszol a stop parancsra, és a naplókban nem jelennek meg új bejegyzések.

Az alábbi feltételek bármelyike azt eredményezheti, hogy egy szinkronizálási csoport elakad a feldolgozási állapotban:

  • Ok. Az ügyfélügynök offline állapotú.

  • Megoldás. Győződjön meg arról, hogy az ügyfélügynök online állapotban van, és próbálkozzon újra.

  • Ok. Az ügyfélügynök el lett távolítva vagy hiányzik.

  • Megoldás. Ha az ügyfélügynök el lett távolítva vagy más okból hiányzik:

    1. Távolítsa el az ügynök XML-fájlját az SQL Data Sync telepítési mappájából, ha létezik ez a fájl.
    2. Telepítse az ügynököt a helyszíni számítógépen (ez ugyanaz vagy egy másik számítógép is lehet). Ezután küldje el a portálon létrehozott ügynökkulcsot az offline állapotúként megjelenő ügynöknek.
  • Ok. Az SQL Data Sync szolgáltatás leállt.

  • Megoldás. Restart the SQL Data Sync service.

    1. A Start menüben keressen rá a Szolgáltatások kifejezésre.
    2. In the search results, select Services.
    3. Keresse meg az SQL Data Sync szolgáltatást.
    4. Ha a szolgáltatás állapota le van állítva, kattintson a jobb gombbal a szolgáltatás nevére, majd válassza a Start lehetőséget.

Megjegyzés:

Ha a fenti információk nem helyezik át a szinkronizálási csoportot a feldolgozási állapotból, Microsoft ügyfélszolgálata visszaállíthatja a szinkronizálási csoport állapotát. A szinkronizálási csoport állapotának visszaállításához az Azure SQL Database Microsoft Q&A kérdésoldalán hozzon létre egy bejegyzést. A bejegyzésben adja meg az előfizetés azonosítóját és az alaphelyzetbe állítani kívánt csoport szinkronizálási csoportazonosítóját. Egy Microsoft ügyfélszolgálata mérnök válaszol a bejegyzésére, és tudatja Önvel, hogy mikor lett visszaállítva az állapot.

Hibás adatokat látok a táblákban

Ha azonos nevű, de különböző adatbázissémákból származó táblák találhatók a szinkronizálásban, akkor a szinkronizálás után hibás adatok láthatók a táblákban.

  • Ok. A SQL-adatszinkronizálás kiépítési folyamata ugyanazokat a nyomkövetési táblákat használja az azonos nevű, de különböző sémákban található táblákhoz. Emiatt a két tábla módosításai ugyanabban a nyomkövetési táblában jelennek meg. Ez hibás adatváltozásokat okoz a szinkronizálás során.

  • Megoldás. Győződjön meg arról, hogy a szinkronizálásban érintett táblák neve eltérő, még akkor is, ha a táblák egy adatbázis különböző sémáihoz tartoznak.

Inkonzisztens elsődlegeskulcs-adatokat látok egy sikeres szinkronizálás után

A rendszer sikeresként jelenti a szinkronizálást, és a naplóban nem láthatók sikertelen vagy kihagyott sorok, de azt tapasztalja, hogy az elsődlegeskulcs-adatok inkonzisztensek a szinkronizálási csoport adatbázisai között.

  • Ok. Ez szándékosan van így. Az elsődleges kulcs oszlopának módosításai inkonzisztens adatokat eredményeznek azokban a sorokban, amelyekben az elsődleges kulcs megváltozott.

  • Megoldás. A probléma elkerülése érdekében győződjön meg arról, hogy az elsődleges kulcs oszlopában nem történt adatmódosítás. A felmerült hiba elhárításához törölje azt a sort a szinkronizálási csoport összes végpontjáról, amely inkonzisztens adatokat tartalmaz. Ezután szúrja be újra a sort.

A teljesítmény jelentős csökkentését tapasztalom

A teljesítmény jelentősen csökken, akár olyan mértékben is, hogy az Adatszinkronizálás felhasználói felülete sem nyitható meg.

  • Ok. A legvalószínűbb ok egy szinkronizálási ciklus. Szinkronizálási ciklus akkor fordul elő, ha az A szinkronizálási csoport általi szinkronizálás a B szinkronizálási csoport általi szinkronizálást vált ki, ami elindítja az A szinkronizálási csoport általi szinkronizálást. A tényleges helyzet összetettebb lehet, és a ciklus kettőnél több szinkronizálási csoportot is érinthet. A probléma az, hogy a szinkronizálások körkörösen aktiválják egymást, amit az egymást átfedő szinkronizálási csoportok okoznak.

  • Megoldás. A legjobb javítási módszer a megelőzés. Győződjön meg arról, hogy nincsenek körkörös hivatkozások a szinkronizálási csoportokban. Az egyik szinkronizálási csoport által szinkronizált sort nem szinkronizálhatja egy másik szinkronizálási csoport.

A következő üzenet jelenik meg: "A NULL értéket nem lehet beszúrni az oszlop <oszlopába>. Az oszlop nem engedélyezi a null értékeket." Mit jelent ez, és hogyan javíthatom ki?

Ez a hibaüzenet azt jelzi, hogy a következő két probléma egyike merült fel:

  • Egy tábla nem rendelkezik elsődleges kulccsal. A probléma megoldásához adjon hozzá egy elsődleges kulcsot az összes szinkronizált táblához.
  • A CREATE INDEX utasítás tartalmaz egy WHERE záradékot. Az Adatszinkronizálás nem kezeli ezt a feltételt. A probléma megoldásához távolítsa el a WHERE záradékot, vagy végezze el manuálisan a módosításokat az összes adatbázison.

Hogyan kezeli adatszinkronizálás a körkörös hivatkozásokat? Ez azt jelenti, hogy amikor ugyanazok az adatok szinkronizálódnak több szinkronizálási csoportban, és ennek eredményeként folyamatosan változnak?

Az Adatszinkronizálás nem kezeli a körkörös hivatkozásokat. Ügyeljen arra, hogy elkerülje őket.

Ügyfélügynökkel kapcsolatos problémák

Az ügyfélügynökkel kapcsolatos problémák elhárításához tekintse meg adatszinkronizálás ügynökkel kapcsolatos problémákat.

Setup and maintenance issues

"Lemezterületen kívül" üzenet

  • Ok. A „Nincs elegendő lemezterület” üzenet akkor jelenhet meg, ha visszamaradt fájlokat kell törölni. Ezt okozhatja a víruskereső szoftver, vagy olyan fájlok, amelyek megnyitott állapotban voltak a törlési műveletek megkísérlésekor.

  • Megoldás. Törölje manuálisan a(z) %temp% mappában (del \*sync\* /s) lévő szinkronizálási fájlokat. Ezután törölje a %temp% mappában található alkönyvtárakat.

Fontos

Ne töröljön fájlokat, amíg szinkronizálás van folyamatban.

Nem tudom törölni a szinkronizálási csoportot

A szinkronizálási csoport törlésére tett kísérlet nem sikerül. Az alábbi forgatókönyvek bármelyike a szinkronizálási csoportok sikertelen törlését eredményezheti:

  • Ok. Az ügyfélügynök offline állapotú.

  • Megoldás. Győződjön meg arról, hogy az ügyfélügynök online állapotban van, majd próbálkozzon újra.

  • Ok. Az ügyfélügynök el lett távolítva vagy hiányzik.

  • Megoldás. Ha az ügyfélügynök el lett távolítva vagy más okból hiányzik:
    a. Távolítsa el az ügynök XML-fájlját az SQL Data Sync telepítési mappájából, ha létezik ez a fájl.
    b. Telepítse az ügynököt a helyszíni számítógépen (ez ugyanaz vagy egy másik számítógép is lehet). Ezután küldje el a portálon létrehozott ügynökkulcsot az offline állapotúként megjelenő ügynöknek.

  • Ok. Az adatbázis offline állapotban van.

  • Megoldás. Győződjön meg arról, hogy az adatbázisok mind online állapotban vannak.

  • Ok. A szinkronizálási csoport kiépítése vagy szinkronizálása folyamatban van.

  • Megoldás. Várjon, amíg a kiépítési vagy szinkronizálási folyamat befejeződik, majd próbálkozzon újra a szinkronizálási csoport törlésével.

Nem tudom törölni egy SQL Server-adatbázis regisztrációját

  • Ok. Valószínűleg egy olyan adatbázis regisztrációját próbálja törölni, amely már törölve lett.

  • Megoldás. Sql Server-adatbázis regisztrációjának törléséhez jelölje ki az adatbázist, majd válassza a Törlés kényszerítése lehetőséget.

    Ha az adatbázis nem távolítható el a szinkronizálási csoportból ezzel a művelettel:

    1. Állítsa le, majd indítsa újra az ügyfélügynök-gazdaszolgáltatást:
      a. Válassza a Start menüt.
      b. In the search box, enter services.msc.
      c. A keresési eredmények panel Programok szakaszában kattintson duplán a Szolgáltatások elemre.
      d. Kattintson a jobb gombbal az SQL-adatszinkronizálás szolgáltatásra.
      e. Ha a szolgáltatás fut, állítsa le.
      f. Kattintson a jobb gombbal a szolgáltatásra, majd válassza az Indítás lehetőséget.
      : Ellenőrizze, hogy az adatbázis még regisztrálva van-e. Ha már nincs regisztrálva, akkor nincs további teendője. Ha még regisztrálva van, folytassa a következő lépéssel.
    2. Nyissa meg az ügyfélügynök alkalmazást (SqlAzureDataSyncAgent).
    3. Válassza a Hitelesítő adatok szerkesztése lehetőséget, majd adja meg az adatbázis hitelesítő adatait.
    4. Folytassa a regisztráció törlését.

Nem rendelkezem megfelelő jogosultságokkal a rendszerszolgáltatások elindításához

  • Ok. Ez a hiba két helyzetben fordul elő:

    • A felhasználónév és/vagy a jelszó helytelen.
    • A megadott felhasználói fiók nem rendelkezik elegendő jogosultsággal a szolgáltatásként való bejelentkezéshez.
  • Megoldás. Adja meg a szolgáltatásként való bejelentkezéshez szükséges hitelesítő adatokat a felhasználói fióknak:

    1. Nyissa meg a Start> Vezérlőpult> Rendszergazda istrative Tools>Local Security Policy Local Policy User Rights Management (Helyi biztonsági házirend>>felhasználói jogok kezelése) elemet.
    2. Válassza a Bejelentkezés szolgáltatásként lehetőséget.
    3. A Tulajdonságok párbeszédpanelen adja hozzá a felhasználói fiókot.
    4. Select Apply, and then select OK.
    5. Zárja be az összes ablakot.

Az adatbázis „Elavult” állapotú

  • Ok. Az SQL-adatszinkronizálás eltávolítja azokat az adatbázisokat, amelyek legalább 45 napig offline állapotban voltak a szolgáltatásban (az adatbázis offline állapotba lépésnek időpontjától számítva). Ha egy adatbázis legalább 45 napig offline állapotban volt, majd újra online állapotba lépett, az állapota Elavult lesz.

  • Megoldás. Elkerülheti az elavult állapotot, ha biztosítja, hogy egyik adatbázis sem legyen offline állapotban 45 napig vagy annál tovább.

    Ha egy adatbázis állapota elavult:

    1. Távolítsa el az elavult állapotú adatbázist a szinkronizálási csoportból.
    2. Adja hozzá újra az adatbázist a szinkronizálási csoporthoz.

    Figyelmeztetés

    Offline állapotban elveszíti az adatbázison végrehajtott összes módosítást.

A szinkronizálási csoport "Elavult" állapotú

  • Ok. Ha egy vagy több módosítás nem alkalmazható a teljes 45 napos megőrzési időszakra, a szinkronizálási csoport elavulttá válhat.

  • Megoldás. A szinkronizálási csoportok elavult állapotának elkerülése érdekében rendszeresen vizsgálja meg a szinkronizálási feladatok eredményeit az előzmények megjelenítőjében. Vizsgálja meg és oldja fel a nem alkalmazható módosításokat.

    Ha egy szinkronizálási csoport állapota elavult, törölje a szinkronizálási csoportot, majd hozza létre újra.

A szinkronizálási csoportok nem törölhetők az ügynök eltávolítását vagy leállítását követő három percen belül

A szinkronizálási csoportok nem törölhetők a társított SQL-adatszinkronizálási ügyfélügynök eltávolítását vagy leállítását követő három percen belül.

  • Megoldás.

    1. Távolítsa el a szinkronizálási csoportot, amíg a társított szinkronizálási ügynökök online állapotban vannak (ajánlott).
    2. Ha az ügynök offline állapotban van, de telepítve van, helyezze online állapotba a helyszíni számítógépen. Várja meg, amíg az ügynök Online állapotúként jelenik meg a SQL-adatszinkronizálás portálján. Ezután távolítsa el a szinkronizálási csoportot.
    3. Ha az ügynök offline állapotban van, mert eltávolították:
      a. Távolítsa el az ügynök XML-fájlját az SQL Data Sync telepítési mappájából, ha létezik ez a fájl.
      b. Telepítse az ügynököt a helyszíni számítógépen (ez ugyanaz vagy egy másik számítógép is lehet). Ezután küldje el a portálon létrehozott ügynökkulcsot az offline állapotúként megjelenő ügynöknek.
      c. Próbálja meg törölni a szinkronizálási csoportot.

Mi történik, ha visszaállítok egy elveszett vagy sérült adatbázist?

Ha biztonsági másolatból visszaállít egy elveszett vagy sérült adatbázist, előfordulhat, hogy az adatok nem egyeznek azon szinkronizálási csoportokban, amelyekhez az adatbázis tartozik.

A „Sync0022 – Az ügyfél nem rendelkezik engedéllyel a syncGroupOperationResults/read művelet végrehajtásához” hibaüzenet

Ha a hibaüzenet Sync0022 Customer does not have authorization to perform action 'syncGroupOperationResults/read'jelenik meg, a műveletet megkísérlő fiók nem rendelkezik megfelelő előfizetési szintű engedélyekkel. Adja hozzá a következőket:

  • Microsoft.Sql/locations/syncMemberOperationResults/read
  • Microsoft.Sql/locations/syncAgentOperationResults/read
  • Microsoft.Sql/locations/syncGroupOperationResults/read

További információ: Erőforrás-szolgáltatói műveletek szerepköralapú hozzáférés-vezérlése és SQL-adatszinkronizálás – A minimálisan szükséges jogosultságokkal rendelkező adatbázisfiókok.

További lépések

A SQL-adatszinkronizálás kapcsolatos további információkért lásd:

További információ az SQL Database-ről: