Som med databasesikkerhedskopier kan du i SQL Server 2016 gendanne en database ved at bruge enten Transact-SQL, PowerShell eller via SQL Server Management Studio GUI.
Her vil jeg demonstrere, hvordan man gendanner en database ved hjælp af SQL Server Management System GUI og derefter ved hjælp af Transact-SQL.
Gendan en database via GUI
I dette eksempel skal vi gendanne en sikkerhedskopi af en helt ny database kaldet WideWorldImporters .
WideWorldImporters database er en prøvedatabase leveret af Microsofts SQL Server Team for at demonstrere, hvordan SQL Servers funktioner kan bruges i et scenarie i den virkelige verden.
Denne proces vil oprette en ny database kaldet WideWorldImporters . Databasen vil indeholde forskellige objekter (såsom tabeller, visninger, lagrede procedurer osv.). Det vil også indeholde eksempeldata, så der er ingen grund til at tilføje dine egne.
Download Database Backup File
Før du starter, download databasen (fra GitHub).
- Download WideWorldImporters-Full.bak fil, hvis du bruger Evaluation, Developer eller Enterprise Edition af SQL Server.
- Eller download WideWorldImporters-Standard.bak fil, hvis du bruger SQL Server Standard Edition.
-
Start Gendan databasen Dialogboks
Højreklik på Databaser i Objekt Explorer node og vælg Gendan database... fra kontekstmenuen.
-
Vælg sikkerhedskopieringsfilen
Under Kilde overskrift, vælg Enhed og klik på ellipseknappen ( ... ) for at starte Vælg sikkerhedskopieringsenheder dialogboks.
-
Vælg sikkerhedskopieringsfilen
Sørg for, at Fil er valgt, skal du klikke på Tilføj for at gå til databasen .bak-fil og tilføje den.
Når du har tilføjet backup-filen, og den er angivet under Sikkerhedskopieringsmedie: , klik på OK for at afslutte denne dialogboks.
-
Tjek indstillingerne
Forskellige felter i Gendan databasen dialogboksen vil blive udfyldt baseret på den sikkerhedskopifil, du valgte.
Klik på OK for at gendanne databasen.
Du kan (valgfrit) klikke på Bekræft sikkerhedskopieringsmedie for at teste, at der ikke er problemer med sikkerhedskopifilen, før gendannelsesprocessen køres.
-
Besked om succes
Du vil modtage en besked, der informerer dig om, at databasen blev gendannet.
Klik på OK for at afslutte.
-
Tjek databasen
Naviger til WideWorldImporters database og udvide dens noder for at gennemgå dens forskellige objekter såsom tabeller, visninger, lagrede procedurer osv.
Du kan begynde at arbejde med denne database med det samme. For eksempel at køre
SELECT * FROM Website.Suppliers;
returnerer en liste over leverandører, der bruger Website.Suppliers se.
Gendan en database ved hjælp af Transact-SQL
-
Du kan udføre den samme databasegendannelse som ovenfor ved hjælp af SQL.
For at gøre dette skal du åbne et nyt forespørgselsvindue og udføre en
RESTORE
erklæring.RESTORE
statement accepterer forskellige muligheder (ligesom GUI-indstillingen), men du kan også køre en simpel gendannelse med et minimum af kode.Eksempelkode
Nedenfor er et eksempel på et simpelt gendannelsesscript, der specificerer databasefilen, der skal gendannes, og destinationsdatabasen.
Den specificerer også, hvor dataene og logfilerne skal være placeret.
Efter at have kørt denne kode, vil WideWorldImporters database vil blive oprettet.
Slet først den eksisterende database ved at køre følgende kode:
USE master; DROP DATABASE WideWorldImporters;
Du kan også slette en database via Object Explorer ved at højreklikke på databasenavnet og vælge Slet fra kontekstmenuen.
Kontroller nu, at databasen ikke længere er opført i Objekt Explorer. Du skal muligvis højreklikke på Databaser og klik på Opdater før den forsvinder.
Når du har bekræftet, at databasen ikke længere eksisterer på din server, skal du køre følgende script for at bringe den tilbage:
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';
Vis en statusmeddelelse
Du kan bruge
STATS
mulighed for at modtage en opdatering om forløbet af gendannelsesprocessen.For eksempel
STATS=10
vil resultere i 10 procent behandlet , 20 procent behandlet osv., mens databasen gendannes.Du kan se den fulde syntaks for
RESTORE
erklæring på Microsofts websted.
Du kan nu bruge denne database til at prøve forskellige ting. Eksperimenter gerne med det. Forespørg data, slet data, slip objekter, hvad som helst. Når alt kommer til alt, hvis du roder det fuldstændig sammen, kan du altid gendanne databasen fra backupfilen.