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

Архивирайте база данни в SQL Server 2017

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

Тук ще демонстрирам как да създадете резервно копие с помощта на GUI SQL Operations Studio (сега наричан Azure Data Studio), след това с Transact-SQL и накрая с SQL Server Powershell.

Създайте резервно копие чрез GUI на SQLOPS/Azure Data Studio

  1. Отворете таблото за управление на базата данни

    В левия панел щракнете с десния бутон върху базата данни, на която искате да архивирате, и изберете Управление .

    Ако използвате SSMS, в Object Explorer щракнете с десния бутон върху базата данни, на която искате да архивирате, и изберете Задачи> Архивиране... от контекстното меню. Това ще стартира База данни за архивиране диалогов прозорец.

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

    Щракнете върху Резервно копие бутон.

  3. Прегледайте настройките

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

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

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

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

    След като архивирането завърши, се показва съобщение, потвърждаващо, че архивирането е успешно.

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

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

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

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

По-долу е даден пример за прост скрипт за архивиране на Linux или Mac система. Скриптът посочва базата данни за архивиране и местоположението за архивиране.

BACKUP DATABASE Music  
TO DISK = '/var/opt/mssql/data/Music.bak';

В Windows система пътят ще използва обратна наклонена черта:

BACKUP DATABASE Music  
TO DISK = 'C:\Backups\Music.bak';

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

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

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

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

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

Backup-SqlDatabase -ServerInstance MyServer -Database Music

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

Backup-SqlDatabase -ServerInstance MyServer -Database Music -BackupFile 'C:\Backups\Music.bak'

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

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

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

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

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

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

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

  • Използване на GUI на SQLOPS , щракнете върху Разширена конфигурация и под Архивиране към съществуващия набор от медии , изберете Презаписване на всички съществуващи резервни набори .
  • Използване на SSMS 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. Как да експортирам полето за изображение във файл?

  2. Как да изпълним съхранена процедура в C# програма

  3. Как да преместя pandas DataFrame в таблицата на Microsoft SQL Server?

  4. Намиране на дублиращи се редове в SQL Server

  5. Генериране на sql код програмно