Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
van toepassing op:SQL Server-
Dit onderwerp legt uit hoe u kunt herstellen tot het punt van falen. Het onderwerp is alleen relevant voor databases die gebruikmaken van de volledige of bulksgewijs vastgelegde herstelmodellen.
Herstellen tot het punt van falen
Maak een back-up van het logboek door de volgende basisinstructie BACKUP uit te voeren:
BACKUP LOG <database_name> TO <backup_device> WITH NORECOVERY, NO_TRUNCATE;
Herstel een volledige databaseback-up door de volgende basisinstructie RESTORE DATABASE uit te voeren:
RESTORE DATABASE <database_name> FROM <backup_device> WITH NORECOVERY;
Herstel eventueel een differentiële databaseback-up door de volgende eenvoudige instructie RESTORE DATABASE uit te voeren:
RESTORE DATABASE <database_name> FROM <backup_device> WITH NORECOVERY;
Pas elk transactielog toe, inclusief de tail-logback-up die u in stap 1 hebt gemaakt, door in de instructie RESTORE LOG de optie WITH NORECOVERY op te geven.
RESTORE LOG <database_name> FROM <backup_device> WITH NORECOVERY;
Herstel de database door de volgende INSTRUCTIE RESTORE DATABASE uit te voeren:
RESTORE DATABASE <database_name> WITH RECOVERY;
Voorbeeld
Voordat u het voorbeeld kunt uitvoeren, moet u de volgende voorbereidingen voltooien:
Het standaardherstelmodel van de
AdventureWorks2022
-database is het eenvoudige herstelmodel. Omdat dit herstelmodel geen ondersteuning biedt voor het herstellen naar het punt van een fout, stelt uAdventureWorks2022
in om het volledige herstelmodel te gebruiken door de volgende instructie ALTER DATABASE uit te voeren:USE master; GO ALTER DATABASE AdventureWorks2022 SET RECOVERY FULL;
Maak een volledige back-up van de database met behulp van de volgende BACKUP-instructie:
BACKUP DATABASE AdventureWorks2022 TO DISK = 'C:\AdventureWorks2022_Data.bck';
Een routinelogboekback-up maken:
BACKUP LOG AdventureWorks2022 TO DISK = 'C:\AdventureWorks2022_Log.bck';
In het volgende voorbeeld worden de eerder gemaakte back-ups hersteld, nadat een staartlogboek-back-up van de AdventureWorks2022
-database is gemaakt. (In deze stap wordt ervan uitgegaan dat de logboekschijf toegankelijk is.)
Eerst maakt het voorbeeld een tail-logback-up van de database die het actieve logboek vastlegt en de database in de Herstelmodus laat. Vervolgens herstelt het voorbeeld de databaseback-up, past de routinelogboekback-up toe die eerder is gemaakt, en past de back-up van het tail-logboek toe. Ten slotte herstelt het voorbeeld de database in een afzonderlijke stap.
Notitie
Het standaardgedrag is om een database te herstellen als onderdeel van de instructie waarmee de laatste back-up wordt hersteld.
/* Example of restoring a to the point of failure */
-- Step 1: Create a tail-log backup by using WITH NORECOVERY.
BACKUP LOG AdventureWorks2022
TO DISK = 'C:\AdventureWorks2022_Log.bck'
WITH NORECOVERY;
GO
-- Step 2: Restore the full database backup.
RESTORE DATABASE AdventureWorks2022
FROM DISK = 'C:\AdventureWorks2022_Data.bck'
WITH NORECOVERY;
GO
-- Step 3: Restore the first transaction log backup.
RESTORE LOG AdventureWorks2022
FROM DISK = 'C:\AdventureWorks2022_Log.bck'
WITH NORECOVERY;
GO
-- Step 4: Restore the tail-log backup.
RESTORE LOG AdventureWorks2022
FROM DISK = 'C:\AdventureWorks2022_Log.bck'
WITH NORECOVERY;
GO
-- Step 5: Recover the database.
RESTORE DATABASE AdventureWorks2022
WITH RECOVERY;
GO