Net als bij databaseback-ups kunt u in SQL Server 2016 een database herstellen met Transact-SQL, PowerShell of via de GUI van SQL Server Management Studio.
Hier laat ik zien hoe u een database kunt herstellen met behulp van de GUI van het SQL Server Management System en vervolgens met Transact-SQL.
Een database herstellen via de GUI
In dit voorbeeld gaan we een back-up herstellen van een gloednieuwe database genaamd WideWorldImporters .
De WideWorldImporters database is een voorbeelddatabase die wordt geleverd door het SQL Server-team van Microsoft om te demonstreren hoe de functies van SQL Server kunnen worden gebruikt in een realistisch scenario.
Dit proces maakt een nieuwe database aan met de naam WideWorldImporters . De database zal verschillende objecten bevatten (zoals tabellen, views, opgeslagen procedures, enz.). Het bevat ook voorbeeldgegevens, dus het is niet nodig om uw eigen gegevens toe te voegen.
Download het databaseback-upbestand
Voordat u begint, download de database (van GitHub).
- Download de WideWorldImporters-Full.bak bestand als u de Evaluation, Developer of de Enterprise Edition van SQL Server gebruikt.
- Of download de WideWorldImporters-Standard.bak bestand als u SQL Server Standard Edition gebruikt.
-
Lanceer de database herstellen Dialoogvenster
Klik in de Objectverkenner met de rechtermuisknop op de Databases knooppunt en selecteer Database herstellen... vanuit het contextmenu.
-
Selecteer het back-upbestand
Onder de Bron kop, selecteer Apparaat en klik op de ellipsenknop ( ... ) om de Selecteer back-upapparaten . te starten dialoogvenster.
-
Selecteer het back-upbestand
Ervoor zorgen dat Bestand is geselecteerd, klikt u op Toevoegen om naar het database .bak-bestand te bladeren en het toe te voegen.
Zodra u het back-upbestand heeft toegevoegd en het wordt vermeld onder Back-upmedia: , klik op OK om dit dialoogvenster te sluiten.
-
Controleer de instellingen
Verschillende velden in de database herstellen dialoogvenster wordt gevuld op basis van het back-upbestand dat u hebt geselecteerd.
Klik op OK om de database te herstellen.
U kunt (optioneel) klikken op Back-upmedia verifiëren om te testen of er geen problemen zijn met het back-upbestand voordat u het herstelproces uitvoert.
-
Succesbericht
U ontvangt een bericht dat de database met succes is hersteld.
Klik op OK om te eindigen.
-
Controleer de database
Navigeer naar de WideWorldImporters database en breid de knooppunten uit om de verschillende objecten te bekijken, zoals tabellen, weergaven, opgeslagen procedures, enz.
U kunt direct met deze database aan de slag. Bijvoorbeeld:
SELECT * FROM Website.Suppliers;
zal een lijst met leveranciers retourneren met behulp van de Website.Suppliers bekijken.
Een database herstellen met Transact-SQL
-
U kunt hetzelfde databaseherstel als hierboven uitvoeren met SQL.
Open hiervoor een nieuw queryvenster en voer een
RESTORE
. uit verklaring.De
RESTORE
statement accepteert verschillende opties (net als de GUI-optie), maar je kunt ook een eenvoudige restore uitvoeren met een minimum aan code.Voorbeeldcode
Hieronder ziet u een voorbeeld van een eenvoudig herstelscript dat het te herstellen databasebestand en de doeldatabase specificeert.
Het specificeert ook waar de gegevens en logbestanden zich zullen bevinden.
Na het uitvoeren van deze code, de WideWorldImporters database zal worden aangemaakt.
Verwijder eerst de bestaande database door de volgende code uit te voeren:
USE master; DROP DATABASE WideWorldImporters;
U kunt een database ook verwijderen via Object Explorer door met de rechtermuisknop op de databasenaam te klikken en Verwijderen te selecteren. vanuit het contextmenu.
Controleer nu of de database niet langer wordt vermeld in de Objectverkenner. Mogelijk moet u met de rechtermuisknop klikken op Databases en klik op Vernieuwen voordat het verdwijnt.
Zodra je hebt bevestigd dat de database niet meer bestaat op je server, voer je het volgende script uit om het terug te brengen:
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';
Een voortgangsbericht weergeven
U kunt de
STATS
. gebruiken optie om een update te ontvangen over de voortgang van het herstelproces.Bijvoorbeeld
STATS=10
resulteert in 10 procent verwerkt , 20 procent verwerkt , enz. terwijl de database wordt hersteld.U kunt de volledige syntaxis zien voor de
RESTORE
verklaring op de Microsoft-website.
U kunt deze database nu gebruiken om verschillende dingen uit te proberen. Experimenteer er gerust mee. Gegevens opvragen, gegevens verwijderen, objecten neerzetten, alles. Immers, als je het helemaal verknoeit, kun je de database altijd herstellen vanuit het back-upbestand.