Helyreállítás egy naplószekvencia-számhoz (SQL Server)

A következőkre vonatkozik:SQL Server

Ez a témakör csak a teljes vagy tömegesen naplózott helyreállítási modelleket használó adatbázisokra vonatkozik.

A visszaállítási művelet helyreállítási pontjának meghatározásához használhat naplóütemezési számot (LSN). Ez azonban egy speciális funkció, amely eszközök gyártói számára készült, és nem valószínű, hogy általánosan hasznos.

A naplószekvencia-számok áttekintése

Az LSN-eket belsőleg használják a RESTORE sorozat során az adatok visszaállításának időpontjának nyomon követéséhez. A biztonsági mentés visszaállításakor az adatok a biztonsági mentés készítésének időpontjának megfelelő LSN-hez lesznek visszaállítva. A különbségi és naplóalapú biztonsági mentések egy későbbi időpontra növelik a visszaállított adatbázist, amely egy magasabb LSN-nek felel meg. Az LSN-ekkel kapcsolatos további információkért tekintse meg az SQL Server tranzakciónaplójának architektúrájáról és kezelési útmutatójáról szóló útmutatót.

Megjegyzés:

Az LSN-ek numerikus (25,0) adattípusú értékek. Az aritmetikai műveletek (például összeadás vagy kivonás) nem értelmezhetők, és nem használhatók LSN-ekkel.

A biztonsági mentés és visszaállítás által használt LSN-k megtekintése

Egy naplórekord LSN-címe, amelyen egy adott biztonsági mentési és visszaállítási esemény történt, az alábbiak közül egy vagy több használatával tekinthető meg:

Megjegyzés:

Az LSN-ek egyes üzenetekben is megjelennek a hibanaplóban.

Transact-SQL LSN-re való visszaállítás szintaxisa

Egy RESTORE utasítás használatával az alábbiak szerint megállhat az LSN-nél vagy közvetlenül előtte:

  • Használja a WITH STOPATMARK ='lsn:<lsn_number>' záradékot, ahol az lsn:<lsnNumber> egy sztring, amely meghatározza, hogy a megadott LSN-t tartalmazó naplórekord a helyreállítási pont.

    A STOPATMARK előreviszi az LSN-hez, és magába foglalja a naplórekordot a továbbgörgetésben.

  • Használja a WITH STOPBEFOREMARK ='lsn:<lsn_number>' záradékot, ahol az lsn:<lsnNumber> egy karakterlánc, amely megadja, hogy a megadott LSN-számot tartalmazó naplórekord előtti közvetlen naplórekord a helyreállítási pont.

    A STOPBEFOREMARK előregörget az LSN-be, és kizárja ezt a naplórekordot a bevezetésből.

A rendszer általában egy adott tranzakciót választ ki a belefoglaláshoz vagy kizáráshoz. Bár nem kötelező, a gyakorlatban a megadott naplórekord egy tranzakció-véglegesítési rekord.

Példák

Az alábbi példa feltételezi, hogy az AdventureWorks adatbázis a teljes helyreállítási modell használatára módosult.

RESTORE LOG AdventureWorks FROM DISK = 'c:\adventureworks_log.bak'   
WITH STOPATMARK = 'lsn:15000000040000037'  
GO  

Kapcsolódó tevékenységek

Lásd még:

Tranzakciónapló biztonsági mentéseinek alkalmazása (SQL Server)
A tranzakciós napló (SQL Server)
RESTORE (Transact-SQL)
Visszaállítás és Helyreállítás Áttekintése (SQL Server)
SQL Server tranzakciós napló architektúrája és kezelési útmutató