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

Как да архивирате база данни на SQL сървър с помощта на T-SQL

Можете да използвате T-SQL BACKUP DATABASE изявление за архивиране на всяка база данни на SQL Server.

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

Създайте пълен архив

Ето основен пример за създаване на пълно архивиране на база данни на SQL Server на диск:

BACKUP DATABASE Movies  
TO DISK = 'Z:\mssql\backups\Movies.bak';

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

Следният пример прави същото, но този пример използва синтаксис на пътеката на файла за Linux и Mac:

BACKUP DATABASE Movies  
TO DISK = '/var/opt/mssql/backups/Movies.bak';

Създайте диференциално архивиране

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

Диференциалното архивиране намалява времето, необходимо за архивиране на базата данни (поради факта, че се архивират само промените от последното пълно архивиране).

За да създадете диференциално резервно копие, използвайте същия BACKUP DATABASE изявление, което използвате, за да създадете пълното архивиране, освен този път добавете WITH DIFFERENTIAL клауза.

Ето един пример:

BACKUP DATABASE Movies  
TO DISK = 'Z:\mssql\backups\Movies.bak'
WITH DIFFERENTIAL;

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

Архивирайте дневника на транзакциите

Можете също да архивирате дневника на транзакциите. Това става с BACKUP LOG изявление.

Ето един пример:

BACKUP LOG Movies  
TO DISK = 'Z:\mssql\backups\Movies_log.bak';

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Можем ли да предадем параметри на изглед в SQL?

  2. Как да предадете низов масив в SQL параметър към IN клауза в SQL

  3. Функция срещу съхранена процедура в SQL Server

  4. Как правилно да вмъкнете нов ред в nvarchar

  5. Деактивирайте SA акаунта в SQL Server (пример за T-SQL)