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

SQL Server 2016:Sikkerhedskopier en database

SQL Server giver en nem måde at oprette en backup af en database på. Sikkerhedskopier kan udføres enten med Transact-SQL, PowerShell eller via SQL Server Management Studio GUI.

Her vil jeg demonstrere, hvordan du opretter en sikkerhedskopi ved hjælp af SQL Server Management System GUI, derefter ved hjælp af Transact-SQL og til sidst med SQL Server Powershell.

Opret en sikkerhedskopi via GUI

  1. Start Backup-databasen Dialogboks

    I Objekt Explorer skal du højreklikke på den database, du vil sikkerhedskopiere, og vælge Opgaver> Sikkerhedskopier... fra kontekstmenuen.

  2. Gennemgå sikkerhedskopieringsindstillingerne

    Denne dialogboks giver dig mulighed for at ændre enhver af indstillingerne, hvis det er nødvendigt.

    For vores eksempel, lad det være i standardindstillingerne og klik på OK for at oprette sikkerhedskopien.

    Du kan ændre databasen her, hvis du ved et uheld valgte den forkerte i det forrige trin.

  3. Sikkerhedskopieringen er fuldført

    Du modtager en besked, når sikkerhedskopieringen er fuldført.

    Klik på OK for at lukke beskeden og dialogboksen.

    Sikkerhedskopien vil nu blive placeret på den angivne placering.

Sikkerhedskopier en database ved hjælp af Transact-SQL

  • Du kan udføre den samme sikkerhedskopiering som ovenfor ved hjælp af SQL.

    For at gøre dette skal du åbne et nyt forespørgselsvindue og udføre en BACKUP erklæring.

    BACKUP statement accepterer forskellige muligheder (ligesom GUI-indstillingen), men du kan også køre en simpel backup med et minimum af kode.

    Eksempelkode

    Nedenfor er et eksempel på et simpelt sikkerhedskopieringsscript, der specificerer databasen, der skal sikkerhedskopieres, og den placering, den skal sikkerhedskopieres til.

    Efter at have kørt denne kode, vil backupfilen blive placeret på den angivne placering.

    BACKUP DATABASE Music  
    TO DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Backup\Music.bak';

    Du kan se den fulde syntaks for BACKUP erklæring på Microsofts websted.

Sikkerhedskopier en database ved hjælp af PowerShell

SQL Server 2016 understøtter Windows PowerShell, som er en script-shell, der typisk bruges til at automatisere administrations- og implementeringsopgaver.

PowerShell-sproget understøtter mere kompleks logik end Transact-SQL-scripts, hvilket giver dig mulighed for at bygge mere sofistikerede scripts til dine sikkerhedskopier og andre opgaver.

  1. Åbn PowerShell

    Højreklik på databasen og vælg Start Powershell .

  2. Kør Backup-kommandoen

    Indtast kommandoen til oprettelse af sikkerhedskopien, og tryk på Enter (eller Return , afhængigt af dit tastatur).

    Sikkerhedskopieringen vil køre med det samme.

    Eksempelkode

    Følgende kode vil oprette en sikkerhedskopi ligesom de foregående eksempler. Bare udskift MyServer med navnet på din server.

    Efter at have kørt denne kode, vil backupfilen blive placeret på standardplaceringen.

    Backup-SqlDatabase -ServerInstance MyServer -Database Music

    Du kan også angive en placering

    Backup-SqlDatabase -ServerInstance MyServer -Database Music -BackupFile 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Backup\Music.bak'

    Du kan også angive -BackupAction Database for eksplicit at angive, at det er en fuld backup. Dette er dog standardindstillingen.

    Du kan se den fulde dokumentation for Backup-SqlDatabase kommando på Microsofts websted.

Overskrivning af sikkerhedskopifiler

Hvis du kørte alle ovenstående eksempler nøjagtigt, som de er, har du måske bemærket, at hver gang du kørte det, steg filstørrelsen på sikkerhedskopifilen.

Dette skyldes, at hver efterfølgende backup føjer sig selv til den eksisterende fil.

Det gør det, fordi vi bruger det samme filnavn, og vi har ikke eksplicit specificeret, at hver sikkerhedskopi skal overskrive enhver eksisterende fil.

Der er en mulighed, der giver dig mulighed for at overskrive den eksisterende fil.

  • Brug af GUI , klik på Medieindstillinger i venstre menu i Backup-databasen dialogboksen, og vælg Overskriv alle eksisterende sikkerhedskopieringssæt i Overskriv medier sektion.
  • Brug af SQL tilføje WITH INIT til SQL-sætningen.
  • Brug af Powershell , tilføj -Initialize til kommandoen.

Gemmer sikkerhedskopifiler

Det er dog ofte en god idé at lave en fuld sikkerhedskopi med et unikt filnavn (typisk inklusive datoen i filnavnet). At have et unikt filnavn betyder, at hver sikkerhedskopi vil være en separat fil.

Afhængigt af størrelsen på din database, og hvor meget nye data der indtastes i den, kan du også ønske at supplere dine fulde sikkerhedskopier med differentielle sikkerhedskopier. En differentiel backup fanger kun de data, der er ændret siden den seneste fulde backup.


  1. Visualisering af data

  2. 2017 @ Severalnines:Vi fejrer vores kundehistorier

  3. Hvad er LIKE Logical Operator i SQL Server - SQL Server / TSQL Tutorial Del 123

  4. Ordner 'Vælg' altid efter primærnøgle?