gebeurtenis
31 mrt, 23 - 2 apr, 23
De grootste SQL-, Fabric- en Power BI-leerevenement. 31 maart – 2 april. Gebruik code FABINSIDER om $ 400 te besparen.
Zorg dat u zich vandaag nog registreertDeze browser wordt niet meer ondersteund.
Upgrade naar Microsoft Edge om te profiteren van de nieuwste functies, beveiligingsupdates en technische ondersteuning.
van toepassing op:SQL Server-
In dit onderwerp wordt beschreven hoe u een database herstelt naar een bepaald tijdstip in SQL Server met behulp van SQL Server Management Studio of Transact-SQL. Dit onderwerp is alleen relevant voor SQL Server-databases die gebruikmaken van de volledige of bulksgewijs vastgelegde herstelmodellen.
Belangrijk
Als onder het bulksgewijs vastgelegde herstelmodel een logboekback-up bulksgewijs vastgelegde wijzigingen bevat, is herstel naar een bepaald tijdstip niet mogelijk voor een punt binnen die back-up. De database moet worden hersteld tot het einde van de transactielogboekback-up.
Voordat u begint:
Een SQL Server-database herstellen naar een bepaald tijdstip met behulp van:
Gebruik STAND-BY om onbekend tijdstip te vinden.
Geef vroeg in een herstelvolgorde het tijdstip op
Als de database die wordt hersteld niet bestaat, moet de gebruiker CREATE DATABASE-machtigingen hebben om RESTORE uit te kunnen voeren. Als de database bestaat, krijgen standaard leden van de vaste serverfuncties sysadmin en dbcreator, evenals de eigenaar (dbo) van de database, RESTORE-machtigingen (voor de optie FROM DATABASE_SNAPSHOT bestaat de database altijd).
HERSTELmachtigingen worden gegeven aan rollen waarin lidmaatschapsgegevens altijd direct beschikbaar zijn voor de server. Omdat lidmaatschap van een vaste databaserol alleen kan worden gecontroleerd wanneer de database toegankelijk en onbeschadigd is, wat niet altijd het geval is wanneer RESTORE wordt uitgevoerd, hebben leden van de db_owner vaste databaserol geen MACHTIGINGEN VOOR HERSTELLEN.
Een database herstellen naar een bepaald tijdstip
Maak in Objectverkenner verbinding met het juiste exemplaar van de SQL Server Database Engine en vouw de serverstructuur uit.
Vouw Databasesuit. Afhankelijk van de database selecteert u een gebruikersdatabase of vouwt u Systeemdatabasesuit en selecteert u vervolgens een systeemdatabase.
Klik met de rechtermuisknop op de database, wijs Takenaan, wijs Herstellenaan en klik vervolgens op Database.
Gebruik op de pagina Algemeen de sectie Bron om de bron en locatie van de back-upsets op te geven die moeten worden hersteld. Selecteer een van de volgende opties:
Database
Selecteer de database die u wilt herstellen in de vervolgkeuzelijst. De lijst bevat alleen databases waarvan een back-up is gemaakt volgens de msdb back-upgeschiedenis.
Notitie
Als de back-up wordt gemaakt vanaf een andere server, beschikt de doelserver niet over de back-upgeschiedenisgegevens voor de opgegeven database. Selecteer in dit geval Apparaat om handmatig het bestand of apparaat op te geven dat moet worden hersteld.
Apparaat
Klik op de knop Bladeren (...) om het dialoogvenster Back-upapparaten selecteren te openen. Selecteer in het vak Back-upmediatype een van de vermelde apparaattypen. Als u een of meer apparaten wilt selecteren voor het Back-upmedia-venster, klikt u op Toevoegen.
Nadat u de apparaten hebt toegevoegd die u wilt toevoegen aan de back-upmedia keuzelijst, klikt u op OK om terug te keren naar de pagina Algemeen.
Selecteer in de Bron: Apparaat: Database keuzelijst de naam van de database die moet worden hersteld.
Opmerking Deze lijst is alleen beschikbaar wanneer apparaat is geselecteerd. Alleen databases met back-ups op het geselecteerde apparaat zijn beschikbaar.
In de sectie Doel wordt het vak Database automatisch ingevuld met de naam van de database die moet worden hersteld. Als u de naam van de database wilt wijzigen, voert u de nieuwe naam in het vak Database in.
Klik op Tijdlijn om het dialoogvenster Tijdlijn voor Back-up te openen.
Klik in de sectie Herstellen naar op Specifieke datum en tijd.
Gebruik de vakken Datum en Tijd of de schuifregelaar om een specifieke datum en tijd op te geven waar het herstellen moet stoppen. Selecteer OK-.
Notitie
Gebruik het vak tijdlijninterval om de tijdsduur te wijzigen die op de tijdlijn wordt weergegeven.
Nadat u een specifiek tijdstip hebt opgegeven, zorgt de Database Recovery Advisor ervoor dat alleen back-ups die nodig zijn voor het herstellen naar dat tijdstip, zijn geselecteerd in de kolom Herstellen kolom van de Back-upsets om raster te herstellen. Deze geselecteerde back-ups vormen het aanbevolen herstelplan voor een herstel op een specifiek moment. Gebruik voor uw punt-in-tijd herstelbewerking alleen de geselecteerde back-ups.
Zie Database herstellen (algemene pagina)voor meer informatie over de kolommen in de Back-upsets om raster te herstellen. Voor meer informatie over de Database Recovery Advisor, zie Overzicht van herstel en recovery (SQL Server).
Op de pagina Opties kunt u in het deelvenster Opties herstellen een van de volgende opties selecteren, indien van toepassing op uw situatie:
de bestaande database overschrijven (MET VERVANGING)
Behoud de replicatie-instellingen (WITH KEEP_REPLICATION)
De toegang tot de herstelde database beperken (WITH RESTRICTED_USER)
Zie Database herstellen (optiespagina)voor meer informatie over deze opties.
Selecteer een optie voor het vak Herstelstatus. Dit vak bepaalt de status van de database na de herstelbewerking.
RESTORE WITH RECOVERY is het standaardgedrag waardoor de database gereed is voor gebruik door de niet-doorgevoerde transacties terug te draaien. Aanvullende transactielogboeken kunnen niet worden hersteld. Selecteer deze optie als u alle benodigde back-ups nu herstelt.
RESTORE WITH NORECOVERY die de database niet operationeel laat en de niet-doorgevoerde transacties niet terugdraait. Aanvullende transactielogboeken kunnen worden hersteld. De database kan pas worden gebruikt als deze is hersteld.
RESTORE WITH STANDBY waardoor de database in de standby-modus Alleen-lezen blijft. Hiermee worden niet-doorgevoerde transacties ongedaangemaakt, maar worden de acties voor ongedaan maken opgeslagen in een stand-bybestand, zodat hersteleffecten kunnen worden teruggezet.
Zie Database herstellen (pagina Opties)voor beschrijvingen van de opties.
Back-up maken van tail-log voordat u herstelt, wordt geselecteerd als dit nodig is voor het tijdstip dat u hebt geselecteerd. U hoeft deze instelling niet te wijzigen, maar u kunt ervoor kiezen om een back-up te maken van de staart van het logboek, zelfs als dit niet vereist is.
Herstelbewerkingen kunnen mislukken als er actieve verbindingen met de database zijn. Controleer de optie Bestaande verbindingen sluiten om ervoor te zorgen dat alle actieve verbindingen tussen Management Studio en de database worden gesloten. Met dit selectievakje stelt u de database in op de modus voor één gebruiker voordat u de herstelbewerkingen uitvoert en stelt u de database in op de modus voor meerdere gebruikers wanneer deze is voltooid.
Selecteer Vragen voordat elke back-up wordt hersteld als u wilt dat er tussen elke herstelbewerking om bevestiging wordt gevraagd. Dit is meestal niet nodig, tenzij de database groot is en u de status van de herstelbewerking wilt bewaken.
Voordat u begint met
Een opgegeven tijd wordt altijd hersteld vanuit een logboekback-up. In elke RESTORE LOG-instructie van de herstelvolgorde moet u uw doeltijd of transactie opgeven in een identieke STOPAT-clausule. Als vereiste voor herstel naar een bepaald tijdstip moet u eerst een volledige databaseback-up herstellen waarvan het eindpunt eerder is dan de beoogde hersteltijd. Deze volledige databaseback-up kan ouder zijn dan de meest recente volledige databaseback-up op voorwaarde dat u vervolgens elke volgende logboekback-up herstelt, tot en met de logboekback-up die uw doelmoment bevat.
Om u te helpen bepalen welke databaseback-up u wilt herstellen, kunt u desgewenst de WITH STOPAT-component opgeven in de instructie RESTORE DATABASE om een fout te genereren als een gegevensback-up te recent is voor de opgegeven doeltijd. De volledige gegevensback-up wordt altijd hersteld, zelfs als deze de doeltijd bevat.
Basis Transact-SQL syntaxis
HERSTELLOGBOEK DATABASE_NAME VANUIT <backup_device> MET STOPAT-=tijd, HERSTEL...
Het herstelpunt is de meest recente transactiedoorvoering die plaatsvond op of vóór de datum/tijd- waarde die is opgegeven door tijd.
Als u alleen de wijzigingen wilt herstellen die vóór een bepaald tijdstip zijn aangebracht, geeft u WITH STOPAT =tijd op voor elke back-up die u herstelt. Dit zorgt ervoor dat u niet voorbij de doeltijd gaat.
Een database herstellen naar een bepaald tijdstip
Notitie
Zie voorbeeld (Transact-SQL)verderop in deze sectie voor een voorbeeld van deze procedure.
Maak verbinding met de serverinstantie waarop u de database wilt herstellen.
Voer de INSTRUCTIE RESTORE DATABASE uit met behulp van de optie NORECOVERY.
Notitie
Als een gedeeltelijke herstelvolgorde een FILESTREAM bestandsgroep uitsluit, wordt herstel naar een bepaald tijdstip niet ondersteund. U kunt afdwingen dat de herstelvolgorde wordt voortgezet. De FILESTREAM-bestandsgroepen die worden weggelaten uit uw RESTORE-instructie, kunnen echter nooit worden hersteld. Als u een herstel op een bepaald tijdstip dwingt, specificeert u de CONTINUE_AFTER_ERROR-optie samen met de STOPAT-, STOPATMARK- of STOPBEFOREMARK-optie, die u ook in uw volgende RESTORE LOG-instructies moet opgeven. Als u CONTINUE_AFTER_ERROR opgeeft, slaagt de gedeeltelijke herstelvolgorde en wordt de FILESTREAM-bestandsgroep onherstelbaar.
Herstel de laatste differentiële databaseback-up, indien van toepassing, zonder de database te herstellen (RESTORE DATABASE database_name FROM backup_device WITH NORECOVERY).
Pas elke back-up van het transactielogboek toe in dezelfde volgorde waarin ze zijn gemaakt, waarbij u de tijd specificeert waarop u wilt stoppen met het herstellen van het logboek (RESTORE DATABASE database_name FROM <backup_device> WITH STOPAT =time, RECOVERY).
Notitie
De opties RECOVERY en STOPAT. Als de back-up van het transactielogboek niet de aangevraagde tijd bevat (bijvoorbeeld als de opgegeven tijd buiten het einde van de tijd valt waarop het transactielogboek betrekking heeft), wordt er een waarschuwing gegenereerd en blijft de database onherstelbaar.
In het volgende voorbeeld wordt een database hersteld naar de status van 12:00 AM
op April 15, 2020
en wordt een herstelbewerking met meerdere logboekback-ups weergegeven. Op het back-upapparaat, AdventureWorksBackups
, is de volledige databaseback-up die moet worden hersteld de derde back-upset op het apparaat (FILE = 3
), de eerste logboekback-up de vierde back-upset (FILE = 4
) en is de tweede logboekback-up de vijfde back-upset (FILE = 5
).
Belangrijk
De AdventureWorks2022
-database maakt gebruik van het eenvoudige herstelmodel. Voordat u een volledige databaseback-up maakt, werd de database ingesteld om het volledige herstelmodel te gebruiken, om logboekback-ups toe te staan, met behulp van ALTER DATABASE AdventureWorks SET RECOVERY FULL
.
RESTORE DATABASE AdventureWorks
FROM AdventureWorksBackups
WITH FILE=3, NORECOVERY;
RESTORE LOG AdventureWorks
FROM AdventureWorksBackups
WITH FILE=4, NORECOVERY, STOPAT = 'Apr 15, 2020 12:00 AM';
RESTORE LOG AdventureWorks
FROM AdventureWorksBackups
WITH FILE=5, NORECOVERY, STOPAT = 'Apr 15, 2020 12:00 AM';
RESTORE DATABASE AdventureWorks WITH RECOVERY;
GO
een database herstellen naar het foutpunt onder het volledige herstelmodel (Transact-SQL)
een database herstellen naar een gemarkeerde transactie (SQL Server Management Studio)
herstellen naar een SQL Server- (Logboekreeksnummer)
ToPointInTime (SMO)
back-upset (Transact-SQL)
RESTORE (Transact-SQL)
RESTORE HEADERONLY (Transact-SQL)
gebeurtenis
31 mrt, 23 - 2 apr, 23
De grootste SQL-, Fabric- en Power BI-leerevenement. 31 maart – 2 april. Gebruik code FABINSIDER om $ 400 te besparen.
Zorg dat u zich vandaag nog registreertTraining
Certificering
Microsoft Certified: Azure Database Administrator Associate - Certifications
Beheer een SQL Server-databaseinfrastructuur voor cloud-, on-premises en hybride relationele databases met behulp van de relationele Microsoft PaaS-databaseaanbiedingen.
Documentatie
Een back-up van een transactielogboek herstellen (SQL Server) - SQL Server
In dit artikel wordt beschreven hoe u een back-up van een transactielogboek in SQL Server herstelt met behulp van SQL Server Management Studio of Transact-SQL.
Overzicht van herstel en terugwinning (SQL Server) - SQL Server
Leer meer over de processen die betrokken zijn bij het herstellen van een SQL Server-database na een fout door een reeks back-ups van SQL Server in de juiste volgorde te herstellen.
Database herstellen: misluktingspunt - volledig herstel - SQL Server
In dit artikel wordt uitgelegd hoe u een SQL Server-database herstelt naar het storingspunt voor databases met behulp van de volledige of bulksgewijs vastgelegde herstelmodellen.