Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Ez a témakör azt ismerteti, hogyan állítható vissza egy tranzakciónapló biztonsági mentése az SQL Serveren az SQL Server Management Studio vagy a Transact-SQL használatával.
ebben a témakörben
Kezdés előtt:
Tranzakciónapló biztonsági mentésének visszaállítása a következővel:
Mielőtt hozzákezdene
Előfeltételek
A biztonsági másolatokat a létrehozásuk sorrendjében kell visszaállítani. Mielőtt visszaállíthat egy adott tranzakciónapló biztonsági mentését, először a korábbi biztonsági mentéseket vissza kell állítania a nem véglegesített tranzakciók visszagörgetése nélkül, tehát a NORECOVERY használatával.
Az adatbázis teljes biztonsági mentése és az esetlegesen létező utolsó differenciális biztonsági mentés, amelyet annak a tranzakciónapló biztonsági mentésnek a készítése előtt végeztek. A legutóbbi teljes vagy különbözeti adatbázis biztonsági mentése előtt az adatbázisnak a teljes helyreállítási modellt vagy a tömegesen naplózott helyreállítási modellt kell használnia.
Minden tranzakciónapló biztonsági mentése a teljes adatbázis biztonsági mentése vagy a különbségi biztonsági mentés után (ha visszaállít egyet) és az adott tranzakciónapló biztonsági mentése előtt. A naplók biztonsági mentéseit a létrehozásuk sorrendjében kell alkalmazni, a naplóláncban lévő rések nélkül.
A tranzakciónaplók biztonsági mentéséről további információt Tranzakciónapló biztonsági mentései (SQL Server) és Tranzakciónapló biztonsági mentése (SQL Server)című témakörben talál.
Biztonság
Engedélyek
A VISSZAÁLLÍTÁSi engedélyek olyan szerepkörökhöz lesznek adva, amelyekben a tagsági adatok mindig könnyen elérhetők a kiszolgáló számára. Mivel a rögzített adatbázisszerepkör-tagság csak akkor ellenőrizhető, ha az adatbázis elérhető és sértetlen, ami nem mindig történik meg a VISSZAÁLLÍTÁS végrehajtásakor, a db_owner rögzített adatbázis-szerepkör tagjai nem rendelkeznek VISSZAÁLLÍTÁSi engedélyekkel.
Az SQL Server Management Studio használata
Figyelmeztetés
A visszaállítás szokásos folyamata a napló biztonsági másolatainak kiválasztása a Adatbázis visszaállítása párbeszédpanelen az adatokkal és a különbségi biztonsági mentésekkel együtt.
Tranzakciónapló biztonsági mentésének visszaállítása
Miután csatlakozott a Microsoft SQL Server adatbázismotor megfelelő példányához, az Object Explorerben kattintson a kiszolgáló nevére a kiszolgálófa kibontásához.
Bontsa ki adatbázisok, és az adatbázistól függően válasszon ki egy felhasználói adatbázist, vagy bontsa ki rendszeradatbázisok, és válasszon ki egy rendszeradatbázist.
Kattintson a jobb gombbal az adatbázisra, mutasson a Feladatokparancsra, mutasson a Visszaállításpontra, majd kattintson a Tranzakciónaplóparancsra, amely megnyitja a Tranzakciónapló visszaállítása párbeszédpanelt.
Jegyzet
Ha tranzakciónapló szürkén jelenik meg, előfordulhat, hogy először vissza kell állítania egy teljes vagy differenciális biztonsági mentést. Használja az Adatbázis biztonsági mentési párbeszédpanelt.
Az Általános lapon, a Adatbázis listamezőben válassza ki az adatbázis nevét. Csak a visszaállítási állapotú adatbázisok szerepelnek a listában.
A visszaállítani kívánt biztonsági mentési csoportok forrásának és helyének megadásához kattintson az alábbi lehetőségek egyikére:
Adatbázis- korábbi biztonsági másolataiból
Válassza ki a legördülő listából visszaállítani kívánt adatbázist. A lista csak azokat az adatbázisokat tartalmazza, amelyek biztonsági mentése az msdb biztonsági mentési előzményeinek alapján történt.
Fájlból vagy szalagról
Kattintson a böngészés (...) gombra a Biztonsági mentési eszközök kiválasztása párbeszédpanel megnyitásához. A Biztonsági mentés adathordozótípus mezőben válasszon egyet a felsorolt eszköztípusok közül. Ha ki szeretne jelölni egy vagy több eszközt a Adathordozó biztonsági mentése mezőbe, kattintson a Hozzáadásgombra.
Miután hozzáadta az eszközöket a Adathordozó biztonsági mentése listamezőhöz, kattintson az OK gombra az Általános lapra való visszatéréshez.
A Válassza ki a tranzakciónapló biztonsági másolatait rács visszaállításához, válassza ki a visszaállítani kívánt biztonsági másolatokat. A táblázat a kiválasztott adatbázishoz elérhető tranzakciónapló-biztonsági másolatokat sorolja fel. A napló biztonsági mentése csak akkor érhető el, ha az első LSN nagyobb, mint az adatbázis utolsó LSN. A naplók biztonsági mentései az általuk tartalmazott naplóütemezési számok (LSN) sorrendjében vannak felsorolva, és ebben a sorrendben kell visszaállítani őket.
Az alábbi táblázat felsorolja a rács oszlopfejléceit, és ismerteti azok értékeit.
Fejléc Érték visszaállítás A kijelölt jelölőnégyzetek jelzik a visszaállítandó biztonsági mentési csoportokat. név A biztonsági mentési készlet neve. összetevő Biztonsági mentéssel rendelkező összetevő: Adatbázis, Fájlvagy üres hely <> (a tranzakciónaplók számára). Adatbázis A biztonsági mentési műveletben részt vevő adatbázis neve. kezdési dátum A biztonsági mentési művelet megkezdésének dátuma és időpontja az ügyfél területi beállításában jelenik meg. befejezési dátum A biztonsági mentési művelet befejezésének dátuma és időpontja az ügyfél területi beállításában jelenik meg. Első LSN A biztonsági mentési készlet első tranzakciójának naplóütemezési száma. Üres a fájlok biztonsági mentéséhez. legutóbbi LSN- A biztonsági mentési készlet utolsó tranzakciójának naplóütemezési száma. Üres a fájlok biztonsági mentéséhez. Ellenőrzőpont LSN A legutóbbi ellenőrzőpont naplóütemezési száma a biztonsági mentés létrehozásakor. teljes LSN A legutóbbi teljes adatbázis biztonsági mentésének naplóütemezési száma. Szerver A biztonsági mentési műveletet végrehajtó adatbázismotor-példány neve. felhasználónév A biztonsági mentési műveletet végrehajtó felhasználó neve. Méret A biztonsági mentési csoport mérete bájtban. pozíció A biztonsági mentési készlet helye a kötetben. Lejárat A biztonsági mentés készletének lejárati dátuma és időpontja. Válasszon az alábbiak közül:
időpont
Tartsa meg az alapértelmezett (Legutóbbi lehetséges) beállítást, vagy jelöljön ki egy adott dátumot és időpontot a tallózás gombra kattintva, amely megnyitja a Időponthoz kötött visszaállítás párbeszédpanelt.
Megjelölt tranzakció
Állítsa vissza az adatbázist egy korábban megjelölt tranzakcióra. Ha bejelöli ezt a beállítást, megjelenik a Kijelölt tranzakció kiválasztása párbeszédpanel, amely megjeleníti a kijelölt tranzakciónapló biztonsági mentéseiben elérhető megjelölt tranzakciókat tartalmazó rácsot.
Alapértelmezés szerint a visszaállítás a megjelölt tranzakcióig tart, de azt nem tartalmazza. A megjelölt tranzakció visszaállításához válassza a Megjelölt tranzakció visszaállításalehetőséget.
Az alábbi táblázat felsorolja a rács oszlopfejléceit, és ismerteti azok értékeit.
Fejléc Érték <üres> A jelölés kiválasztásához jelölőnégyzetet jelenít meg. Tranzakciójelölés A felhasználó által a tranzakció véglegesítésekor megadott megjelölt tranzakció neve. Dátum A tranzakció véglegesítése dátuma és időpontja. A tranzakció dátuma és időpontja az msdbgmarkhistory táblában rögzített módon jelenik meg, nem pedig az ügyfélszámítógép dátumában és idejében. Leírás A felhasználó által a tranzakció véglegesítésekor megadott megjelölt tranzakció leírása (ha van ilyen). LSN- A megjelölt tranzakció naplóütemezési száma. Adatbázis Annak az adatbázisnak a neve, amelyben a megjelölt tranzakció véglegesítése megtörtént. felhasználónév Annak az adatbázis-felhasználónak a neve, aki a megjelölt tranzakciót véglegesítette.
A speciális beállítások megtekintéséhez vagy kiválasztásához kattintson a Beállítások elemre a Lap kijelölése panelen.
A Visszaállítási beállítások szakaszban a következő lehetőségek közül választhat:
A replikációs beállítások megőrzése (A REPLIKÁCIÓ MEGTARTÁSÁVAL)
Megőrzi a replikációs beállításokat a közzétett adatbázisok azon kiszolgálótól eltérő kiszolgálóra való visszaállításakor, ahol az adatbázis létrejött.
Ez a beállítás csak a Az adatbázis készenlétben hagyása a nem véglegesített tranzakciók visszagörgetésével lehetőség esetén érhető el (amely később kerül részletezésre), és ez egyenértékű a biztonsági másolat visszaállításával a RECOVERY beállítással.
Ennek a beállításnak az ellenőrzése egyenértékű a Transact-SQLRESTORE utasítás KEEP_REPLICATION lehetőségével.
Kérés az egyes biztonsági mentési visszaállítása előtt
Az egyes biztonsági mentési csoportok visszaállítása előtt (az első után) ez a beállítás megjelenik a Folytatás a Visszaállítás párbeszédpanelen, amely arra kéri, hogy jelezze, hogy folytatni szeretné-e a visszaállítási sorozatot. Ez a párbeszédpanel megjeleníti a következő médiakészlet nevét (ha van), a biztonsági mentési csoport nevét és a biztonsági mentési csoport leírását.
Ez a lehetőség különösen akkor hasznos, ha szalagokat kell cserélnie különböző médiakészletekhez. Például használhatja, ha a kiszolgálónak csak egy szalagos eszköze van. Várjon, amíg készen áll a folytatásra, mielőtt OKgombra kattint.
A Nem gombra kattintva az adatbázis helyreállítási állapotban marad. Az Ön kényelme érdekében folytathatja a visszaállítási sorozatot az utolsó befejezett visszaállítás után. Ha a következő biztonsági mentés egy adat- vagy különbözeti biztonsági mentés, használja ismét a Adatbázis visszaállítása feladatot. Ha a következő biztonsági mentés egy napló biztonsági mentése, használja a Tranzakciónapló visszaállítása feladatot.
A visszaállított adatbázishoz való hozzáférés korlátozása (WITH RESTRICTED_USER)
A visszaállított adatbázist csak a db_owner, dbcreatorvagy sysadmintagjai számára teszi elérhetővé.
Ennek a beállításnak az ellenőrzése szinonimája a Transact-SQLRESTORE utasítás RESTRICTED_USER lehetőségének használata.
A Helyreállítási állapot beállításainál adja meg az adatbázis állapotát a visszaállítási művelet után.
Hagyja használatra készen az adatbázist a nem véglegesített tranzakciók visszaállításával. További tranzakciónaplók nem állíthatók vissza. (VISSZAÁLLÍTÁS HELYREÁLLÍTÁSSAL)
Helyreállítja az adatbázist. Ez a beállítás egyenértékű a Transact-SQLRESTORE utasítás RECOVERY beállításával.
Ezt a lehetőséget csak akkor válassza, ha nincs visszaállítani kívánt naplófájlja.
Hagyja az adatbázist nem működőként, és ne hozza vissza a nem véglegesített tranzakciókat. További tranzakciónaplók állíthatók vissza. (VISSZAÁLLÍTÁS A NORECOVERY HASZNÁLATÁVAL)
Az adatbázis helyreállítatlan marad, VISSZAÁLLÍTÁS állapotban. Ez a beállítás egyenértékű a NORECOVERY kapcsolóval a Transact-SQLRESTORE utasításban.
Ha ezt a beállítást választja, a Replikációs beállítások megőrzése beállítás nem érhető el.
Fontos
Tükrözött vagy másodlagos adatbázis esetén mindig válassza ezt a lehetőséget.
Hagyja az adatbázist írásvédett módban. Visszavonhatja a nem véglegesített tranzakciókat, de mentse a visszavonási műveleteket egy fájlba, hogy a helyreállítási effektusok visszafejthetők legyenek. (VISSZAÁLLÍTÁS KÉSZENLÉTI ÜZEMMÓDBAN)
Az adatbázis készenléti állapotban marad. Ez a beállítás egyenértékű a STANDBY kapcsolóval a Transact-SQLRESTORE utasításban.
Ha ezt a beállítást választja, meg kell adnia egy készenléti fájlt.
Ha szeretné, adjon meg egy készenléti fájlnevet a Készenléti fájl szövegmezőben. Ez a beállítás akkor szükséges, ha írásvédett módban hagyja el az adatbázist. Keresse meg a készenléti fájlt, vagy írja be annak elérési útját a szövegmezőbe.
A Transact-SQL használata
Fontos
Javasoljuk, hogy a kétértelműség kiküszöbölése érdekében mindig explicit módon adja meg a NORECOVERY vagy a WITH RECOVERY utasítást minden VISSZAÁLLÍTÁSi utasításban. Ez különösen fontos szkriptek írásakor.
Tranzakciónapló biztonsági mentésének visszaállítása
Hajtsa végre a RESTORE LOG utasítást a tranzakciónapló biztonsági mentésének alkalmazásához, a következőt megadva:
Annak az adatbázisnak a neve, amelyre a tranzakciónaplót alkalmazni fogja.
Az a biztonsági mentési eszköz, ahonnan a tranzakciónapló biztonsági mentése vissza lesz állítva.
A NORECOVERY záradék.
Az utasítás alapszintaxisa a következő:
NAPLÓ HELYREÁLLÍTÁSA adatbázis_név FROM <mentési_eszköz> NORECOVERY opcióval.
Ahol database_name az adatbázis neve, <backup_device>pedig annak az eszköznek a neve, amely tartalmazza a visszaállított napló biztonsági mentését.
Ismételje meg az 1. lépést minden egyes tranzakciónapló biztonsági mentéséhez, amelyeket alkalmaznia kell.
Miután visszaállította az utolsó biztonsági mentést a visszaállítási sorrendben, az adatbázis helyreállításához használja az alábbi utasítások egyikét:
Az adatbázis helyreállítása az utolsó RESTORE LOG utasítás részeként:
RESTORE LOG <database_name> FROM <backup_device> WITH RECOVERY; GOVárja meg az adatbázis helyreállítását egy külön RESTORE DATABASE utasítással:
RESTORE LOG <database_name> FROM <backup_device> WITH NORECOVERY; RESTORE DATABASE <database_name> WITH RECOVERY; GOAz adatbázis helyreállítására várva ellenőrizheti, hogy visszaállította-e az összes szükséges napló biztonsági mentését. Ez a módszer gyakran ajánlott időponthoz kötött visszaállítás végrehajtásakor.
Fontos
Ha tüköradatbázist hoz létre, hagyja ki a helyreállítási lépést. A tükrözött adatbázisnak VISSZAÁLLÍTÁS állapotban kell maradnia.
Példák (Transact-SQL)
Alapértelmezés szerint a AdventureWorks2025 adatbázis az egyszerű helyreállítási modellt használja. Az alábbi példák megkövetelik az adatbázis módosítását a teljes helyreállítási modell használatához az alábbiak szerint:
ALTER DATABASE AdventureWorks2022 SET RECOVERY FULL;
A. Egyetlen tranzakciónapló biztonsági mentésének alkalmazása
Az alábbi példa a AdventureWorks2025 adatbázis visszaállításával kezdődik egy teljes adatbázis-biztonsági mentés használatával, amely egy AdventureWorks2022_1nevű biztonsági mentési eszközön található. A példa ezután alkalmazza az első tranzakciónapló biztonsági mentését, amely egy AdventureWorks2022_lognevű biztonsági mentési eszközön található. Végül a példa helyreállítja az adatbázist.
RESTORE DATABASE AdventureWorks2022
FROM AdventureWorks2022_1
WITH NORECOVERY;
GO
RESTORE LOG AdventureWorks2022
FROM AdventureWorks2022_log
WITH FILE = 1,
NORECOVERY;
GO
RESTORE DATABASE AdventureWorks2022
WITH RECOVERY;
GO
B. Több tranzakciónapló biztonsági mentésének alkalmazása
Az alábbi példa a AdventureWorks2025 adatbázis visszaállításával kezdődik egy teljes adatbázis-biztonsági mentés használatával, amely egy AdventureWorks2022_1nevű biztonsági mentési eszközön található. A példa ezután egyenként alkalmazza az első három tranzakciónapló biztonsági mentését, amelyek egy AdventureWorks2022_lognevű biztonsági mentési eszközön találhatók. Végül a példa helyreállítja az adatbázist.
RESTORE DATABASE AdventureWorks2022
FROM AdventureWorks2022_1
WITH NORECOVERY;
GO
RESTORE LOG AdventureWorks2022
FROM AdventureWorks2022_log
WITH FILE = 1,
NORECOVERY;
GO
RESTORE LOG AdventureWorks2022
FROM AdventureWorks2022_log
WITH FILE = 2,
NORECOVERY;
GO
RESTORE LOG AdventureWorks2022
FROM AdventureWorks2022_log
WITH FILE = 3,
NORECOVERY;
GO
RESTORE DATABASE AdventureWorks2022
WITH RECOVERY;
GO
Kapcsolódó tevékenységek
Adatbázis biztonsági mentésének visszaállítása SSMS- használatával
Adatbázis visszaállítása a teljes helyreállítási modell (Transact-SQL) hibapontjára
SQL Server-adatbázis visszaállítása egy adott időpontra a teljes helyreállítási modell alapján
Adatbázis visszaállítása megjelölt tranzakcióra (SQL Server Management Studio)
Lásd még:
VISSZAÁLLÍTÁS (Transact-SQL)
Tranzakciónapló biztonsági mentéseinek alkalmazása (SQL Server)