Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

SQL Server 2016:Архивиране на база данни

SQL Server предоставя лесен начин за създаване на резервно копие на база данни. Архивирането може да се направи или с Transact-SQL, PowerShell, или чрез GUI на SQL Server Management Studio.

Тук ще демонстрирам как да създадете резервно копие с помощта на GUI на SQL Server Management System, след това с Transact-SQL и накрая с SQL Server Powershell.

Създайте резервно копие чрез GUI

  1. Стартирайте База данни за архивиране Диалогов прозорец

    В Object Explorer щракнете с десния бутон върху базата данни, на която искате да архивирате, и изберете Задачи> Архивиране... от контекстното меню.

  2. Прегледайте настройките за архивиране

    Този диалогов прозорец ви дава възможност да промените някоя от настройките, ако е необходимо.

    За нашия пример оставете настройките по подразбиране и щракнете върху OK за да създадете резервно копие.

    Можете да промените базата данни тук, ако случайно сте избрали грешната в предишната стъпка.

  3. Архивирането завърши

    Ще получите съобщение, когато архивирането приключи.

    Щракнете върху OK за да затворите съобщението и диалоговия прозорец.

    Архивният файл вече ще се намира на посоченото място.

Архивиране на база данни с помощта на Transact-SQL

  • Можете да извършите същото архивиране, както по-горе, като използвате SQL.

    За да направите това, отворете нов прозорец за заявка и изпълнете BACKUP изявление.

    BACKUP операторът приема различни опции (точно като опцията GUI), но можете също да стартирате просто архивиране с минимум код.

    Примерен код

    По-долу е даден пример за прост скрипт за архивиране, който определя базата данни за архивиране и местоположението за архивиране.

    След като изпълните този код, архивният файл ще бъде разположен на посоченото място.

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

    Можете да видите пълния синтаксис за BACKUP изявление на уебсайта на Microsoft.

Архивирайте база данни с помощта на PowerShell

SQL Server 2016 поддържа Windows PowerShell, който е скриптова обвивка, която обикновено се използва за автоматизиране на задачи за администриране и внедряване.

Езикът PowerShell поддържа по-сложна логика от скриптовете на Transact-SQL, което ви дава възможност да създавате по-сложни скриптове за вашите архиви и други задачи.

  1. Отворете PowerShell

    Щракнете с десния бутон върху базата данни и изберете Стартиране на Powershell .

  2. Изпълнете командата за архивиране

    Въведете командата за създаване на архива и натиснете Enter (или Връщане , в зависимост от клавиатурата ви).

    Архивирането ще стартира незабавно.

    Примерен код

    Следващият код ще създаде резервно копие точно като предишните примери. Просто заменете MyServer с името на вашия сървър.

    След като изпълните този код, архивният файл ще бъде разположен на местоположението по подразбиране.

    Backup-SqlDatabase -ServerInstance MyServer -Database Music

    Можете също да посочите местоположение

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

    Можете също да посочите -BackupAction Database за да се посочи изрично, че е пълен архив. Това обаче е опцията по подразбиране.

    Можете да видите пълната документация за Backup-SqlDatabase команда на уебсайта на Microsoft.

Презаписване на архивни файлове

Ако сте изпълнили всички горепосочени примери точно както са, може да сте забелязали, че всеки път, когато го стартирате, размерът на файла на архивния файл се увеличава.

Това е така, защото всяко следващо архивиране се добавя към съществуващия файл.

Прави това, защото използваме едно и също име на файл и не сме посочили изрично, че всяко архивиране трябва да презапише всеки съществуващ файл.

Има опция, която ви позволява да презапишете съществуващия файл.

  • Използване на GUI , щракнете върху Опции за медия в лявото меню на Резервно копие на базата данни диалогов прозорец и изберете Презаписване на всички съществуващи резервни набори в Презаписване на носителя раздел.
  • Използване на SQL добавете WITH INIT към SQL израза.
  • Използване на Powershell , добавете -Initialize към командата.

Запазване на архивни файлове

Въпреки това често е добра идея да създадете пълен архив с уникално име на файл (обикновено включващ датата в името на файла). Уникалното име на файла означава, че всяко архивиране ще бъде отделен файл.

Освен това, в зависимост от размера на вашата база данни и колко нови данни се въвеждат в нея, може да пожелаете да допълните пълните си архиви с диференциални архиви. Диференциалното архивиране улавя само данните, които са се променили след последното пълно архивиране.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Инсталиране на Ubuntu 18.04 за SQL Server 2019 на виртуална машина с помощта на VMware Workstation

  2. SQL грешка с подреждане по в подзаявка

  3. присъединете колона с данни, разделени със запетая

  4. Как мога да заключа един ред в SQL Server по начин, подобен на SELECT FOR UPDATE WAIT на Oracle?

  5. Създайте таблица в SQL Server (T-SQL)