sql >> Database teknologi >  >> RDS >> Sqlserver

SQL Server 2016:Gendan en database

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.
  1. Start Gendan databasen Dialogboks

    Højreklik på Databaser i Objekt Explorer node og vælg Gendan database... fra kontekstmenuen.

  2. Vælg sikkerhedskopieringsfilen

    Under Kilde overskrift, vælg Enhed og klik på ellipseknappen ( ... ) for at starte Vælg sikkerhedskopieringsenheder dialogboks.

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

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

  5. Besked om succes

    Du vil modtage en besked, der informerer dig om, at databasen blev gendannet.

    Klik på OK for at afslutte.

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


  1. Indsættelse af store objektdata i Salesforce.com fra SQL Server

  2. Søgeord ikke understøttet:Metadata

  3. Sådan bestemmes om tallet er flydende eller heltal

  4. SQL Server CRUD Operationer