Oszd meg most:
Tartalomjegyzék elrejtése

SQL Server Adatbázis helyreállítási módban? Szerezzen be 10 bevált javítást most! Lépésről lépésre bemutatott megoldások az egyszerű javítástól a haladó javításig.

1. Megértés SQL Server Adatbázis-helyreállítási mód

1.1 Mi a helyreállítási mód a következőben: SQL Server

Amikor egy SQL Server az adatbázis „Helyreállítás alatt” állapotot mutat, ez azt jelenti, hogy SQL Server összeomlás utáni helyreállítást vagy tranzakció-helyreállítást hajt végre az adatbázis konzisztenciájának biztosítása érdekében. Ez az automatikus folyamat a véglegesített tranzakciók visszajátszásával és a nem véglegesített tranzakciók visszagörgetésével tartja fenn az adatok integritását.

In SQL Server, egy adatbázis tartalmazza a „Helyreállítás alatt” címkét, ami azt jelenti, hogy jelenleg helyreállítási módban van.

A helyreállítási mód jellemzően váratlan leállások, áramkimaradások vagy adatbázis-visszaállítások után jelentkezik. Bár ez egy normális védelmi mechanizmus, problémák merülnek fel, amikor a SQL Server A helyreállítási folyamatban lévő adatbázis szokatlanul sokáig tart, vagy elakadtnak tűnik.

1.2 Az adatbázis-helyreállítás három fázisa

SQL Server A felépülés három jól elkülöníthető fázisból áll:

1.2.1 Elemzési fázis

SQL Server Az utolsó ellenőrzőponttól kezdődő tranzakciónaplót átvizsgálja a piszkos oldalak és az aktív tranzakciók azonosítása érdekében. Létrehoz egy piszkos oldal táblázatot (DPT) és egy aktív tranzakció táblázatot (ATT) a helyreállításra szoruló elemek nyomon követésére.

1.2.2 Újraindítási fázis (előregörgetés)

A rendszer visszajátssza az összes véglegesített tranzakciót, amelyeket az összeomlás előtt nem írtak lemezre. Ez biztosítja, hogy minden véglegesített módosítás megfelelően alkalmazásra kerüljön az adatbázisfájlokban.

1.2.3 Visszavonási fázis (Visszagörgetés)

A nem véglegesített tranzakciókat visszavonja a rendszer az adatbázis konzisztenciájának megőrzése érdekében. A befejezés után az adatbázis elérhetővé válik a normál működéshez.

1.3 Gyakori tünetek és hibaüzenetek

Amikor a SQL Server Ha a db helyreállítás alatt van, általában a következőt fogod látni:

  • Az adatbázis neve, amelyen a „(Helyreállítás alatt)” felirat látható SQL Server Menedzsment Stúdió
  • Bejelentkezési hibák „adatbázis helyreállítása folyamatban” üzenettel
  • A helyreállítási folyamat százalékos arányát mutató hibanapló-bejegyzések
  • Az adatbázis állapota lekérdezéskor „RECOVERING” feliratot mutat

2. A kiváltó okok SQL Server Helyreállítási móddal kapcsolatos problémák

2.1 Befejezetlen visszaállítási műveletek

A most gyakori ok akkor fordul elő, amikor több biztonsági mentési fájlból állít vissza a visszaállítást a NORÉPÍTÉS opció végleges nélkül FELÁLLÓDÁSSAL parancs. Ezzel az adatbázis további visszaállítási műveletekre vár.

2.2 Tranzakciónapló-problémák

A nagy tranzakciónapló-fájlok vagy a túlzott mennyiségű virtuális naplófájl (VLF) jelentősen lelassítja a helyreállítást. Amikor az MS SQL több ezer VLF-fel áll helyre, a folyamat órákig vagy napokig is eltarthat.

2.3 Rendszerrel kapcsolatos problémák

A hardverhibák, áramkimaradások vagy a kevés lemezterület megszakíthatja az adatbázis normál működését, és hosszadalmas helyreállítási folyamatokat indíthat el a mentés során.tart.

2.4 Adatbázis-sérülés

A sérült adatbázisfájlok megakadályozzák a sikeres helyreállítást, így az adatbázis határozatlan időre helyreállítási módban ragad.

3. Diagnózisostic lépések a javítás előtt

3.1 Ellenőrzés SQL Server hibanaplókat

A javítások megkísérlése előtt vizsgálja meg a SQL Server A helyreállítási folyamatüzenetek hibanaplója. Keresse a befejezési százalékokat és a becsült hátralévő időt mutató bejegyzéseket.

  1. Nyisd ki SQL Server Menedzsment Stúdió
  2. navigáljon Menedzsment -> SQL Server Naplók
  3. Az adatbázis nevéhez tartozó legutóbbi bejegyzések áttekintése
  4. Keresd a felépülési fázis indikátorait (1., 2. vagy 3. fázis a 3-ból)

Ellenőrzése SQL Server hibanaplók a helyreállítási folyamatüzenetekhez.

3.2 A felépülés folyamatának monitorozása

Dinamikus kezelési nézetek használata az aktív helyreállítási műveletek nyomon követéséhez:

SELECT session_id, command, blocking_session_id, wait_type, wait_time, wait_resource
FROM sys.dm_exec_requests
WHERE command = 'DB STARTUP';

3.3 Adatbázis állapotának ellenőrzése

A helyreállítási állapot megismeréséhez ellenőrizze az adatbázis aktuális állapotát:

SELECT name, state_desc
FROM sys.databases
WHERE name = 'YourDatabaseName';

4. 1. megoldás: Várja meg a természetes felépülés befejeződését

Néha a türelem a legjobb megoldás, amikor SQL Server Az adatbázis helyreállítás alatt áll. Ez a megközelítés akkor működik, ha a helyreállítás normálisan halad, de a vártnál tovább tart.

4.1 Mikor kell türelmesnek lenni

Természetes befejeződést engedélyezni, ha:

  • A hibanaplók folyamatos előrehaladást mutatnak, csökkenő időbecslésekkel
  • Nem jelentettek korrupciós hibákat
  • Az adatbázisban nemrégiben nagy tranzakciók történtek
  • A VLF-ek száma kezelhető (1,000 alatt)

4.2 A felépülés folyamatának monitorozása

A hibanaplókban szereplő helyreállítási idő becslések gyakran pontatlanok. A hátralévő idő helyett a haladás százalékos arányára koncentráljon. A kiterjedt tranzakcióelőzményekkel rendelkező nagy adatbázisok teljes helyreállítása több órát is igénybe vehet.

5. 2. megoldás: Használja a RESTORE DATABASE WITH RECOVERY funkciót

Ez a javítás megoldja a befejezetlen visszaállítási műveleteket, amelyek során az utolsó helyreállítási lépés kimaradt. Használja ezt a javítást, ha a... SQL Server A helyreállításban lévő db a NORECOVERY használatával végzett visszaállítási folyamat eredménye.

5.1 A parancs megértése

Az ADATBÁZIS VISSZAÁLLÍTÁSA HELYREÁLLÍTÁSSAL A parancs a nem véglegesített tranzakciók visszagörgetésével és az adatbázis online állapotba hozásával fejezi be a helyreállítási folyamatot.

5.2 A megvalósítás lépései

  1. Nyisd ki SQL Server Menedzsment Stúdió
  2. Csatlakozzon a SQL Server példa
  3. Kattints Új > Lekérdezés jelenlegi kapcsolattal
    Hozzon létre egy új lekérdezést a SQL Server Menedzsment Stúdió.
  4. Végrehajtás: RESTORE DATABASE [YourDatabaseName] WITH RECOVERY;
  5. Várja meg a befejezés megerősítését

Figyelmeztetés: Csak akkor használd ezt a parancsot, ha biztos vagy benne, hogy nincsenek további visszaállítási műveletek függőben.

6. 3. megoldás: A tranzakciónaplóval kapcsolatos problémák megoldása

A tranzakciónapló-problémák a hosszabb helyreállítási idők egyik fő okai. Ez a javítás a megtelt naplókat, a túlzott VLF-eket és a naplóterülettel kapcsolatos problémákat kezeli, amelyek miatt a rendszer folyamatosan megőrzi a naplófájlokat. SQL Server gyógyuláskor.

6.1 Tranzakciónaplók biztonsági mentése

Szabadítson fel naplóterületet tranzakciónapló-mentések létrehozásával:

  1. Nyisd ki SQL Server Menedzsment Stúdió
  2. Jobb klikk az adatbázisra -> Feladatok -> Back Up
    Staregy biztonsági mentési feladat SQL Server adatbázisban.
  3. Változtat Biztonsági mentés típusa nak nek Tranzakciónapló
    A biztonsági mentés típusának módosítása tranzakciónaplóra
  4. Adja meg a biztonsági mentés célhelyét
  5. Kattints OK végrehajtani

6.2 Virtuális naplófájlok (VLF-ek) kezelése

VLF számláló ellenőrzése:

DBCC LOGINFO('YourDatabaseName');

Ha több mint 1,000 VLF-ed van, csökkentsd őket a következőkkel:

  1. A tranzakciós napló biztonsági mentése
  2. A naplófájl zsugorítása: DBCC SHRINKFILE(LogFileName, TRUNCATEONLY);
  3. A naplófájl nagy darabokban való bővítése (1 GB vagy több)

6.3 Naplófájlok biztonságos zsugorítása

A naplókat csak karbantartási időszakokban zsugorítsa, amikor nincsenek aktív tranzakciók. A zsugorítási műveletek előtt mindig készítsen biztonsági másolatot az adatbázisról.

7. 4. javítás: Futtassa a DBCC CHECKDB-t és javítsa ki

Az adatbázis sérülése megakadályozhatja a sikeres helyreállítást. A DBCC CHECKDB egy beépített parancs, amely képes azonosítani és kijavítani azokat a kisebb sérülési problémákat, amelyek miatt az MS SQL helyreállítási módban marad.

7.1 Adatbázis-sérülés ellenőrzése

Stara standard megközelítéssel ellenőrizze az adatbázis integritását. Először próbálja ki közvetlenül a DBCC CHECKDB parancsot:

  1. Végrehajtás: DBCC CHECKDB('YourDatabaseName') WITH NO_INFOMSGS;
  2. Az eredmények konzisztenciahibáinak ellenőrzése
  3. Dokumentálja a korrupcióval kapcsolatos üzeneteket

Ha a DBCC CHECKDB hibát jelez Az olyan hibák esetén, mint az „Adatbázis helyreállítása folyamatban. Várakozás a helyreállítás befejezésére”, az azt jelenti, hogy az adatbázis aktívan helyreállítási módban van, és blokkolja a hozzáférést. Ebben az esetben folytassa a 7.3. szakasszal a VÉSZHELYZET mód használatához.

7.2 Javítási lehetőségek hozzáférhető adatbázisokhoz

Ha a DBCC CHECKDB sikeresen lefutott és sérülést talált, kövesse az alábbi javítási lépéseket:

  1. Adatbázis beállítása egyfelhasználós módba: ALTER DATABASE [YourDatabaseName] SET SINGLE_USER;
  2. Biztonságos javítás megkísérlése: DBCC CHECKDB('YourDatabaseName', REPAIR_REBUILD);
  3. Sikertelenség esetén használja: DBCC CHECKDB('YourDatabaseName', REPAIR_ALLOW_DATA_LOSS);
  4. Visszatérés többfelhasználós módba: ALTER DATABASE [YourDatabaseName] SET MULTI_USER;

7.3 Vészhelyzeti mód használata, ha az adatbázis nem érhető el

Vészhelyzeti módra csak akkor van szükség, ha az adatbázis helyreállítási üzemmódban elakadt, és elutasítja a normál DBCC CHECKDB kísérleteket. Ez a mód READ_ONLY-ként jelöli meg az adatbázist, és letiltja a naplózást. Ezt a megközelítést akkor használja, ha a standard hozzáférés sikertelen:

  1. Vészhelyzeti mód beállítása: ALTER DATABASE [YourDatabaseName] SET EMERGENCY;
  2. Egyfelhasználós beállítás: ALTER DATABASE [YourDatabaseName] SET SINGLE_USER;
  3. Integritási ellenőrzés futtatása: DBCC CHECKDB('YourDatabaseName') WITH NO_INFOMSGS;
  4. Ha sérülést talál, először futtassa a biztonságos javítást: DBCC CHECKDB('YourDatabaseName', REPAIR_REBUILD);
  5. Sikertelen javítás esetén használja az adatvesztéssel járó javítást:  DBCC CHECKDB('YourDatabaseName', REPAIR_ALLOW_DATA_LOSS);
  6. Többfelhasználós beállítás: ALTER DATABASE [YourDatabaseName] SET MULTI_USER;
  7. Online beállítás: ALTER DATABASE [YourDatabaseName] SET ONLINE;

Fontos:  A VÉSZHELYZET mód megkerüli a normál helyreállítási folyamatokat, és csak akkor szabad használni, ha az adatbázis teljesen elérhetetlen. A VÉSZHELYZET módba való eszkaláció előtt mindig próbálja ki a standard DBCC CHECKDB megközelítést.

Megtalálható egy átfogóbb útmutató a DBCC CHECKDB használatához.

8. 5. javítás: Visszaállítás biztonsági mentésből

Amikor más módszerek kudarcot vallanak, vagy az adatok integritása megkérdőjelezhető, a tiszta biztonsági mentésből való visszaállítás gyakran a legjobb megoldás.ost megbízható megoldás a probléma megoldására SQL Server adatbázis helyreállítási problémákban.

8.1 Mikor érdemes biztonsági mentést visszaállítani?

Érdemes lehet biztonsági mentést visszaállítani, ha:

  • A helyreállítás több mint 24 órája fut előrelépés nélkül.
  • A korrupciós hibák megakadályozzák a sikeres javítást
  • Rendelkezik friss, ellenőrzött biztonsági mentésekkel
  • Az utolsó biztonsági mentés óta elvesztett adatmennyiség elfogadható

8.2 Lépésről lépésre történő helyreállítási folyamat

  1. Nyisd ki SQL Server Menedzsment Stúdió
  2. Kattintson a jobb gombbal Adatbázisok -> Adatbázis visszaállítása
    Staraz adatbázis visszaállítási feladata SQL Server Menedzsment Stúdió
  3. választ eszköz Forrás alatt
  4. Kattints hozzáad és keresse meg a biztonsági mentési fájlját
  5. Válassza ki a biztonsági mentést, és kattintson rá OK
  6. A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a Írja felül a meglévő adatbázist ha kell
  7. Kattints OK hogy start restaurálás

Adatbázis visszaállítása itt: SQL Server.

8.3 Időpont szerinti helyreállítás

Az adatvesztés minimalizálása érdekében tranzakciónapló-mentéseket használjon az adatok adott időpontra történő visszaállításához. Győződjön meg arról, hogy a teljes biztonsági mentéstől a kívánt helyreállítási pontig megszakítatlan naplómentés-lánccal rendelkezik.

8.4 Referencia

További információkat tőlünk kaphat Átfogó útmutató a biztonsági mentéshez és visszaállításhoz SQL Server adatbázisok.

9. 6. javítás: Az AUTOMATIKUS BEZÁRÁS tulajdonság letiltása

Az AUTO CLOSE adatbázis tulajdonság ismételt helyreállítási ciklusokat okozhat, ami azt a látszatot keltheti, mintha a SQL Server A db folyamatosan helyreállítás alatt áll. Ennek a tulajdonságnak a letiltása megoldja a problémát.

9.1 Az AUTOMATIKUS ZÁRÁS problémáinak megértése

Amikor az AUTOMATIKUS ZÁRÁS engedélyezve van, SQL Server az utolsó kapcsolat befejezése után bezárja az adatbázist, majd újra megnyitja az új kapcsolatokhoz. Ez az ismételt megnyitás minden alkalommal helyreállítási folyamatokat indít el.

9.2 Az AUTOMATIKUS ZÁRÁS letiltása

  1. Nyisd ki SQL Server Menedzsment Stúdió
  2. Jobb klikk az adatbázisra -> Ingatlanok
  3. választ Opciók a bal oldali panelen
  4. Készlet Auto Close nak nek Hamis
  5. Kattints OK a változtatások alkalmazásához

Automatikus bezárás tulajdonság letiltása egy SQL Server adatbázisban SQL Server Menedzsment Stúdió.

Alternatív megoldásként használhatja a T-SQL-t:

ALTER DATABASE [YourDatabaseName] SET AUTO_CLOSE OFF;

10. 7. számú javítás: Restart SQL Server szolgáltatás

Szolgáltatási választarMeg tudja oldani az elakadt helyreállítási folyamatokat, de óvatosan kell használni, mivel visszafordíthatatlan károkat okozhat.tara kezdetektől fogva. Ez a javítás akkor működik, ha SQL Server a gyógyulásban teljesen lefagyottnak tűnik.

10.1 Mikor áll rendelkezésre szolgáltatás?tarSegít

Restara szolgáltatást, amikor:

  • A helyreállítási folyamat több órára leállt
  • A hibanaplók nem mutatnak új bejegyzéseket
  • A többi adatbázis normálisan működik
  • Megengedhet magának hosszabb állásidőt

10.2 Biztonságos mentéstart Eljárások

  1. Nyisd ki SQL Server Konfigurációkezelő Külső link
  2. navigáljon SQL Server Szolgáltatások
  3. Keresse meg a SQL Server példány, amelyet újra szeretne keresnitart, majd kattintson a jobb gombbal SQL Server (Példány neve)
  4. választ Restart
  5. Várja meg, amíg a szolgáltatás teljesen helyreálltart
  6. A helyreállítási folyamat hibanaplóinak figyelése

Restart a SQL Server szolgáltatás SQL Server Konfigurációkezelő.

Jegyzet: Restara ting a felépülés megkezdését okozza az s-bőltart, ami potenciálisan meghosszabbíthatja a teljes felépülési időt.

11. 8. javítás: Adatbázis javítása leválasztással és újracsatolással

Szélsőséges esetekben válassza le, majd csatlakoztassa újra az adatbázist:

  1. Adatbázis leválasztása: EXEC sp_detach_db 'YourDatabaseName';
  2. Csak az MDF fájlt csatolja: CREATE DATABASE [YourDB] ON (FILENAME = 'C:\Path\YourDB.mdf') FOR ATTACH_REBUILD_LOG;
  3. Ez egy új tranzakciónaplót épít újra

Figyelmeztetés: Ez a módszer adatvesztéshez vezethet. Csak akkor használja, ha más lehetőségek kimerültek.

12. 9. javítás: Az adatbázis-tükrözési problémák kezelése

Az adatbázis-tükrözési konfigurációk egyedi helyreállítási problémákat okozhatnak. Ez a javítás a tükrözéssel kapcsolatos problémákat kezeli, amelyek miatt az adatbázisok helyreállítási állapotban maradnak.

12.1 Tükrözés-specifikus helyreállítási problémák

A tükrözött adatbázisok helyreállítása elakadhat partnerkapcsolati problémák vagy végpontproblémák miatt. Mind az elsődleges, mind a tükrözött adatbázisok megjeleníthetik a helyreállítási állapotot.

12.2 Visszaállítási megoldások tükrözése

Restara tükrözési végpont:

  1. Végpont nevének keresése: SELECT * FROM sys.endpoints WHERE type = 4;
  2. Végpont leállítása: ALTER ENDPOINT [EndpointName] STATE = STOPPED;
  3. Start végpont: ALTER ENDPOINT [EndpointName] STATE = STARTED;

Ha a végpont restarHa a t nem sikerül, szakítsa meg a tükrözési partnerséget:

  1. Végrehajtás: ALTER DATABASE [DatabaseName] SET PARTNER OFF;
  2. Fuss: RESTORE DATABASE [DatabaseName] WITH RECOVERY;
  3. A tükrözés újrakonfigurálása, miután az adatbázis online állapotba került

13. 10. megoldás: Használjon professzionális helyreállító eszközöket

A harmadik féltől származó helyreállítási eszközök beépített állapotban fejlett javítási lehetőségeket biztosítanak. SQL Server módszerek kudarcot vallanak. Ezek az eszközök gyakran képesek adatokat helyreállítani súlyosan sérült adatbázisokból.

13.1 DataNumen SQL Recovery

DataNumen SQL Recovery magas megtérülési aránnyal és átfogó lehetőségekkel rendelkezik.

Az alábbiakban a használatának lépései találhatók:

  1. Állítsa le a SQL Server Service.
  2. Készítsen másolatot a helyreállítási módban lévő adatbázis fájljairól, beleértve az elsődleges MDF fájlt és a másodlagos NDF fájlokat is.
  3. Start a SQL Server Service.
  4. Start DataNumen SQL Recovery.
  5. Az eredeti fájl helyett a másolatot válassza ki a helyreállítandó adatbázis forrásaként.
  6. Kattintson az „Star„Helyreállítás” lehetőséget, és kövesse az utasításokat az adatbázis helyreállításához.
  7. A helyreállítási folyamat után egy új helyreállítási adatbázis jelenik meg a SQL Server amely tartalmazza az összes visszaállított adatot.

Felhasználás DataNumen SQL Recovery hogy megjavítson egyetlen sérültet SQL Server MDF fájl.

13.2 Mikor érdemes harmadik féltől származó eszközöket fontolóra venni?

Használjon professzionális eszközöket, ha:

  • A beépített javítási lehetőségek meghibásodnak, vagy kiterjedt sérülést jeleznek
  • Nincsenek elérhető friss biztonsági mentések
  • A kritikus adatokat a korrupció ellenére is vissza kell állítani
  • A standard helyreállítási módszerek jelentős adatvesztést eredményeznek

14. Megelőzési legjobb gyakorlatok

14.1 Rendszeres karbantartási feladatok

Alkalmazza ezeket a gyakorlatokat a megelőzés érdekében SQL Server adatbázis helyreállítási problémák:

  • Rendszeres teljes és naplófájl-mentések ütemezése: Teljes biztonsági mentési láncok fenntartása
  • VLF számlálók monitorozása: Az optimális teljesítmény érdekében tartsa a VLF-eket 100 alatt
  • Naplófájl méretezésének megtervezése: Rönkök előméretezése a túlzott önnövekedés elkerülése érdekében
  • Futtassa a szokásos DBCC CHECKDB-t: A korrupció korai felismerése

14.2 Monitoring és riasztás

Proaktív monitorozás beállítása:

  1. Riasztások konfigurálása az adatbázis állapotváltozásaihoz
  2. Naplófájl-meghajtókon lévő lemezterület figyelése
  3. Hosszú ideig futó tranzakciók nyomon követése
  4. Figyelmeztetés a túlzott VLF-szám esetén

14.3 Hardver és infrastruktúra

Megbízható infrastruktúra biztosítása:

15. Komplex forgatókönyvek hibaelhárítása

15.1 Több adatbázissal kapcsolatos problémák

Amikor több adatbázis is elakad a helyreállítási folyamatban:

  1. Rendszerszintű problémák ellenőrzése (lemezterület, memória)
  2. Kritikus adatbázisok rangsorolása helyreállításhoz
  3. Vegye figyelembe a teljes példányt érintő hardverproblémákat
  4. Tekintse át a legutóbbi rendszermódosításokat vagy frissítéseket

15.2 Nagyméretű adatbázisokkal kapcsolatos szempontok

1 TB-nál nagyobb adatbázisok esetén:

  • Hosszabb felépülési időre számíthat (akár napokig is eltarthat)
  • Biztosítsa a megfelelő memória-elosztást
  • Vegye figyelembe a párhuzamos feldolgozási beállításokat
  • Tempdb-terület figyelése helyreállítás közben

15.3 Mikor kell kapcsolatba lépni a Microsoft ügyfélszolgálatával

Lépjen kapcsolatba a Microsoft ügyfélszolgálatával a következő esetekben:

  • Kritikus termelési rendszerek biztonsági mentési lehetőségek nélkül
  • Feltételezett SQL Server szoftverhibák
  • Vállalati környezetek, amelyek garantált helyreállítást igényelnek
  • Komplex Always On vagy klaszterezési forgatókönyvek

16. GYIK

K: Mennyi ideig kell SQL Server Az adatbázis-helyreállítás általában mennyi időt vesz igénybe?

V: A helyreállítási idő az adatbázis méretétől, a tranzakciók mennyiségétől és a hardver teljesítményétől függ. A kis adatbázisok általában percek alatt helyreállnak, míg a kiterjedt tranzakciónaplókkal rendelkező nagy adatbázisok több órát is igénybe vehetnek. A hibanaplókban látható időbecslések gyakran pontatlanok, ezért inkább a haladás százalékos arányára kell összpontosítani.

K: Megállhatok? SQL Server helyreállítás során adatvesztés nélkül?

A: Megállás SQL Server a felépülés során általában biztonságos, de vissza fog térnitara helyreállítási folyamatot a kezdetektől fogva, amikor a szolgáltatás újraindultarEz meghosszabbítja a teljes helyreállítási időt, de nem okoz további adatvesztést azon túl, ami az eredeti incidens során történt.

K: Mi a különbség a „Helyreállítás alatt” és a „Helyreállítás függőben” állapotok között?

A: A „felépülés alatt” jelentése SQL Server aktívan végrehajtja a helyreállítási műveleteket. A „Helyreállítás függőben” üzenet azt jelzi, hogy a helyreállítási folyamat sikertelen volt.tart, általában hiányzó fájlok, elégtelen engedélyek vagy lemezterület-problémák miatt, amelyeket a helyreállítás folytatása előtt meg kell oldani.

A „Behajtás függőben” opcióról részletesebb információkat a következő helyen talál: átfogó útmutató.

K: Elveszítenek-e adatok, ha a REPAIR_ALLOW_DATA_LOSS függvényt használom?

V: Igen, a REPAIR_ALLOW_DATA_LOSS eltávolíthatja a sérült adatokat az adatbázis konzisztenciájának visszaállítása érdekében. Mindig próbálja meg először a REPAIR_REBUILD parancsot, amely adatvesztés nélkül javítja a szerkezeti problémákat. A REPAIR_ALLOW_DATA_LOSS parancsot csak végső megoldásként használja, ha nincs más helyreállítási lehetősége.

K: Hozzáférhetek más adatbázisokhoz, miközben az egyik adatbázis helyreállítás alatt áll?

V: Igen, más adatbázisok ugyanazon a helyen SQL Server A helyreállítás során a példány továbbra is elérhető marad. Csak a helyreállítás alatt álló adatbázis nem érhető el. A helyreállítási műveletek azonban befolyásolhatják a szerver teljesítményét.

K: Mi okozza azt, hogy egy adatbázis elakad helyreállítási módban?

V: Gyakori okok lehetnek a NORECOVERY használatával végzett befejezetlen visszaállítási műveletek, a túlzott virtuális naplófájlok (VLF-ek), a nagyméretű, nem véglegesített tranzakciók, az adatbázis sérülése, a kevés lemezterület és a hardverproblémák. Az AUTO CLOSE funkcióval rendelkező adatbázisok is folyamatosan helyreállítási folyamatba kerülhetnek.

K: Honnan tudom, hogy a felépülés halad-e előre, vagy elakadt?

A: Monitor SQL Server A helyreállítási folyamatüzenetek hibanaplói a befejezési százalékokat mutatják. A sys.dm_exec_requests segítségével ellenőrizze az aktív adatbázisokat.TARTUP parancsok. Ha a százalékos értékek idővel növekednek, a helyreállítás folyamatban van. Az új naplóbejegyzések hiánya több órán keresztül elakadt folyamatra utalhat.

K: Biztonságos újrahasznosítani?tart SQL Server szolgáltatás a felépülés során?

A: Restarbiztonságos, de óvatosan kell használni. Hatékonyan fog működni.tara regenerálódást a kezdetektől fogva, potenciálisan megduplázva a regenerálódási időt. Csak a restarha a helyreállítás teljesen lefagyottnak tűnik, és órákig nem történt előrelépés, vagy ha gyanítja, hogy a folyamat valóban elakadt.

K: Mi a különbség az AUTOMATIKUS BEZÁRÁS és a helyreállítási mód között?

A: Az AUTOMATIKUS BEZÁRÁS automatikusan bezárja az adatbázisokat, ha nincsenek kapcsolatok, majd újra megnyitja azokat az új kapcsolatokhoz. Ez az ismételt megnyitás minden alkalommal rövid helyreállítási folyamatokat indít el, így úgy tűnik, mintha az adatbázis folyamatosan helyreállítás alatt állna. Az AUTOMATIKUS BEZÁRÁS letiltása megoldja ezt a problémát.

K: Segíthetnek-e a tranzakciónaplók biztonsági mentései a helyreállítás során?

V: A tranzakciónaplók biztonsági mentései felszabadíthatnak naplóterületet, ha a naplómeghajtó megtelt, lehetővé téve a helyreállítás folytatását. Azonban nem lehet biztonsági másolatot készíteni egy jelenleg helyreállítási módban lévő adatbázis naplójáról. A naplók biztonsági mentései hasznosabbak a megelőzés és a mentés céljából.ost-helyreállítási karbantartás.

K: Mikor kell felvennem a kapcsolatot a Microsoft ügyfélszolgálatával?

V: Ha a beépített helyreállítási módszerek meghibásodása gyanúja merül fel, forduljon a Microsoft ügyfélszolgálatához kritikus éles rendszerek esetén. SQL Server szoftverhibák esetén, összetett Always On vagy klaszterezési forgatókönyvek esetén, vagy amikor a vállalati környezetek garantált adat-helyreállítást igényelnek minimális állásidővel.

K: Hogyan akadályozhatom meg, hogy az adatbázisok elakadjanak a helyreállítás során?

V: Rendszeres teljes és naplózott biztonsági mentések végrehajtása, a VLF-számlálók monitorozása és kezelése, elegendő lemezterület biztosítása, megfelelő leállítási eljárások alkalmazása, a hardver megbízhatóságának fenntartása, az AUTO CLOSE letiltása az éles adatbázisokon, és rendszeres DBCC CHECKDB műveletek futtatása a sérülés korai észlelése érdekében.

K: Mik azok a VLF-ek, és miért befolyásolják a felépülést?

A: A virtuális naplófájlok (VLF-ek) a tranzakciónapló-fájlokon belüli belső szegmensek. Túl sok VLF (1,000 felett) jelentősen lelassítja a helyreállítást, mert SQL Server mindegyiket külön kell feldolgoznia. A megfelelő naplófájl-méretezési és növekedési beállítások segítenek az optimális VLF-szám fenntartásában.

K: Visszaállíthatom a biztonsági mentésből az adatbázist helyreállítás közben?

V: Nem lehet visszaállítani egy jelenleg helyreállítási módban lévő adatbázist. Vagy meg kell várnia a helyreállítás befejeződését, vagy le kell állítania a folyamatot. SQL Server szolgáltatást, vagy állítson vissza egy másik adatbázisnévre. Sürgős esetekben érdemes lehet új adatbázisnévre visszaállítani, majd a helyreállítási problémák megoldása után átnevezni.

17. Következtetések és a következő lépések

17.1 A legfontosabb megoldások összefoglalása

Amikor a SQL Server az adatbázis helyreállítás alatt áll, starezekkel a megközelítésekkel a következő sorrendben:

  1. Hibanaplók ellenőrzése és a folyamat nyomon követése
  2. Várja meg a természetes befejezést, ha a haladás folyamatos
  3. A hiányos visszaállításokhoz használja a VISSZAÁLLÍTÁS HELYREÁLLÍTÁSSAL opciót.
  4. Tranzakciónaplóval kapcsolatos problémák megoldása
  5. Futtassa a DBCC CHECKDB-t vagy professzionális eszközöket a sérülések ellenőrzéséhez
  6. Súlyos esetekben fontolja meg a biztonsági mentés visszaállítását

Most SQL Server A helyreállítási helyzetekben a problémák órákon belül megoldódnak ezekkel a bevált módszerekkel. Összetett forgatókönyvek esetén ne habozzon fejlett technikákat vagy professzionális eszközöket használni.

17.2 További források

További segítségért:

A rendszeres karbantartás és felügyelet megakadályozza aost helyreállítási problémák. Alkalmazza az ebben az útmutatóban ismertetett megelőző gyakorlatokat az MS SQL helyreállítási problémák jövőbeni előfordulásának minimalizálása érdekében.


A szerzőről

Yuan Sheng több mint 10 éves tapasztalattal rendelkező vezető adatbázis-adminisztrátor (DBA) SQL Server környezetekben és vállalati adatbázis-kezelésben. Több száz adatbázis-helyreállítási forgatókönyvet oldott meg sikeresen pénzügyi szolgáltatások, egészségügyi ellátás és gyártási szervezetek számára.

Yuan specializálódott SQL Server adatbázis-helyreállítás, magas rendelkezésre állású megoldások és teljesítményoptimalizálás. Kiterjedt gyakorlati tapasztalata magában foglalja a több terabájtos adatbázisok kezelését, az Always On Availability Groups megvalósítását, valamint az automatizált biztonsági mentési és helyreállítási stratégiák kidolgozását kritikus fontosságú üzleti rendszerekhez.

Yuan műszaki szakértelmének és gyakorlatias megközelítésének köszönhetően átfogó útmutatók készítésére összpontosít, amelyek segítik az adatbázis-adminisztrátorokat és az informatikai szakembereket a komplex problémák megoldásában SQL Server hatékonyan kihívásokat intéz. Folyamatosan naprakész a legújabb információkkal. SQL Server kiadásait és a Microsoft fejlődő adatbázis-technológiáit, rendszeresen tesztelve a helyreállítási forgatókönyveket annak érdekében, hogy ajánlásai a valós legjobb gyakorlatokat tükrözzék.

Kérdései vannak a SQL Server helyreállításra vagy további adatbázis-hibaelhárítási útmutatásra van szüksége? Yuan örömmel fogadja visszajelzéseket és javaslatokat ezen technikai erőforrások fejlesztéséért.

Oszd meg most: