Wie bei Datenbanksicherungen können Sie in SQL Server 2016 eine Datenbank wiederherstellen, indem Sie entweder Transact-SQL, PowerShell oder über die GUI von SQL Server Management Studio verwenden.
Hier zeige ich Ihnen, wie Sie eine Datenbank mit der grafischen Benutzeroberfläche des SQL Server-Verwaltungssystems und dann mit Transact-SQL wiederherstellen.
Stellen Sie eine Datenbank über die GUI wieder her
In diesem Beispiel werden wir ein Backup einer brandneuen Datenbank namens WideWorldImporters wiederherstellen .
Die WideWorldImporters Datenbank ist eine Beispieldatenbank, die vom SQL Server-Team von Microsoft bereitgestellt wird, um zu demonstrieren, wie die Funktionen von SQL Server in einem realen Szenario verwendet werden können.
Dieser Prozess erstellt eine neue Datenbank namens WideWorldImporters . Die Datenbank enthält verschiedene Objekte (wie Tabellen, Ansichten, gespeicherte Prozeduren usw.). Es enthält auch Beispieldaten, sodass Sie keine eigenen hinzufügen müssen.
Datenbanksicherungsdatei herunterladen
Bevor Sie beginnen, laden Sie die Datenbank herunter (von GitHub).
- Laden Sie die Datei WideWorldImporters-Full.bak herunter Datei, wenn Sie die Evaluation, Developer oder Enterprise Edition von SQL Server verwenden.
- Oder laden Sie die Datei WideWorldImporters-Standard.bak herunter Datei, wenn Sie SQL Server Standard Edition verwenden.
-
Starten Sie die Datenbank wiederherstellen Dialogfeld
Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf die Datenbanken Knoten und wählen Sie Datenbank wiederherstellen... aus dem Kontextmenü.
-
Wählen Sie die Sicherungsdatei aus
Unter der Quelle wählen Sie Gerät und klicken Sie auf die Ellipsen-Schaltfläche ( ... ), um Sicherungsgeräte auswählen zu starten Dialogfeld.
-
Wählen Sie die Sicherungsdatei aus
Sicherstellen, dass die Datei ausgewählt ist, klicken Sie auf Hinzufügen , um zur .bak-Datenbankdatei zu navigieren und sie hinzuzufügen.
Nachdem Sie die Sicherungsdatei hinzugefügt haben, wird sie unter Sicherungsmedien: aufgelistet , klicken Sie auf OK um dieses Dialogfeld zu verlassen.
-
Überprüfen Sie die Einstellungen
Verschiedene Felder in der Datenbank wiederherstellen Das Dialogfeld wird basierend auf der von Ihnen ausgewählten Sicherungsdatei ausgefüllt.
Klicken Sie auf OK um die Datenbank wiederherzustellen.
Sie können (optional) auf Sicherungsmedium überprüfen klicken um zu testen, dass es keine Probleme mit der Sicherungsdatei gibt, bevor Sie den Wiederherstellungsprozess ausführen.
-
Erfolgsmeldung
Sie erhalten eine Nachricht, die Sie darüber informiert, dass die Datenbank erfolgreich wiederhergestellt wurde.
Klicken Sie auf OK zu beenden.
-
Überprüfen Sie die Datenbank
Navigieren Sie zu WideWorldImporters Datenbank und erweitern Sie ihre Knoten, um ihre verschiedenen Objekte wie Tabellen, Ansichten, gespeicherte Prozeduren usw. zu überprüfen.
Sie können sofort mit dieser Datenbank arbeiten. Führen Sie beispielsweise
SELECT * FROM Website.Suppliers;
aus wird eine Liste von Lieferanten über Website.Suppliers zurückgeben ansehen.
Wiederherstellen einer Datenbank mit Transact-SQL
-
Sie können dieselbe Datenbankwiederherstellung wie oben mit SQL durchführen.
Öffnen Sie dazu ein neues Abfragefenster und führen Sie ein
RESTORE
durch Aussage.Das
RESTORE
-Anweisung akzeptiert verschiedene Optionen (genau wie die GUI-Option), aber Sie können auch eine einfache Wiederherstellung mit einem Minimum an Code ausführen.Beispielcode
Unten sehen Sie ein Beispiel für ein einfaches Wiederherstellungsskript, das die wiederherzustellende Datenbankdatei und die Zieldatenbank angibt.
Es gibt auch an, wo sich die Daten- und Protokolldateien befinden werden.
Nachdem Sie diesen Code ausgeführt haben, werden die WideWorldImporters Datenbank wird erstellt.
Löschen Sie zuerst die vorhandene Datenbank, indem Sie den folgenden Code ausführen:
USE master; DROP DATABASE WideWorldImporters;
Sie können eine Datenbank auch über den Objekt-Explorer löschen, indem Sie mit der rechten Maustaste auf den Datenbanknamen klicken und Löschen auswählen aus dem Kontextmenü.
Überprüfen Sie nun, ob die Datenbank nicht mehr im Objekt-Explorer aufgeführt ist. Möglicherweise müssen Sie mit der rechten Maustaste auf Datenbanken klicken und klicken Sie auf Aktualisieren bevor es verschwindet.
Nachdem Sie bestätigt haben, dass die Datenbank nicht mehr auf Ihrem Server vorhanden ist, führen Sie das folgende Skript aus, um sie wiederherzustellen:
USE master; RESTORE DATABASE WideWorldImporters FROM DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Backup\WideWorldImporters-Full.bak' WITH MOVE N'WWI_Primary' TO N'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\WideWorldImporters.mdf', MOVE N'WWI_UserData' TO N'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\WideWorldImporters_UserData.ndf', MOVE N'WWI_Log' TO N'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\WideWorldImporters.ldf', MOVE N'WWI_InMemory_Data_1' TO N'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\WideWorldImporters_InMemory_Data_1';
Fortschrittsmeldung anzeigen
Sie können die
STATS
verwenden Option, um über den Fortschritt des Wiederherstellungsprozesses informiert zu werden.Beispiel:
STATS=10
wird zu 10 Prozent verarbeitet führen , 20 Prozent verarbeitet , usw. während die Datenbank wiederhergestellt wird.Sie können die vollständige Syntax für
RESTORE
sehen Erklärung auf der Microsoft-Website.
Diese Datenbank können Sie nun nutzen, um verschiedene Dinge auszuprobieren. Fühlen Sie sich frei, damit zu experimentieren. Daten abfragen, Daten löschen, Objekte löschen, alles. Schließlich können Sie, wenn Sie es komplett vermasseln, die Datenbank immer noch aus der Sicherungsdatei wiederherstellen.