Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

SQL Server 2016:Wiederherstellen einer Datenbank

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.
  1. 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ü.

  2. 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.

  3. 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.

  4. Ü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.

  5. Erfolgsmeldung

    Sie erhalten eine Nachricht, die Sie darüber informiert, dass die Datenbank erfolgreich wiederhergestellt wurde.

    Klicken Sie auf OK zu beenden.

  6. Ü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.