Поделиться через


Создание полной резервной копии базы данных (SQL Server)

В этом разделе описывается создание полной резервной копии базы данных в SQL Server 2014 с помощью SQL Server Management Studio, Transact-SQL или PowerShell.

Замечание

Сведения о резервном копировании SQL Server в службу хранилища Blob Azure можно найти в разделе Server Backup and Restore with Azure Blob Storage Service.

В этом разделе

Перед началом работы

Ограничения и условия

  • Инструкция BACKUP не допускается в явных или неявных транзакциях.

  • Резервные копии, созданные более последней версией SQL Server, не могут быть восстановлены в более ранних версиях SQL Server.

  • Дополнительные сведения см. в разделе "Обзор резервного копирования" (SQL Server).

Рекомендации

  • По мере увеличения размера полной резервной копии базы данных требуется больше времени, чтобы завершить работу и требовать больше места в хранилище. Поэтому для больших баз данных может потребоваться, кроме полных резервных копий, создавать также и разностные резервные копии баз данных. Дополнительные сведения см. в разделе Разностные резервные копии (SQL Server).

  • Вы можете оценить размер полной резервной копии базы данных, используя системную хранимую процедуру sp_spaceused.

  • По умолчанию каждая успешная операция резервного копирования добавляет запись в журнал ошибок SQL Server и в журнал системных событий. Если очень часто выполнять резервное копирование журнала, эти сообщения об успешном выполнении быстро накапливаются, что может привести к образованию огромных журналов ошибок, затрудняющих поиск других сообщений. В таких случаях эти записи журнала можно отключить с помощью флага трассировки 3226, если ни один из сценариев не зависит от этих записей. Дополнительные сведения см. в разделе Флаги трассировки (Transact-SQL).

Безопасность

В резервном копировании базы данных параметр TRUSTWORTHY имеет значение OFF. Дополнительные сведения о том, как установить параметр TRUSTWORTHY в положение ВКЛ, см. в разделе ALTER DATABASE SET Options (Transact-SQL).

Начиная с SQL Server 2012 PASSWORD , и MEDIAPASSWORD параметры не поддерживаются для создания резервных копий. Все еще вы можете восстанавливать резервные копии, созданные с паролями.

Разрешения

Разрешения BACKUP DATABASE и BACKUP LOG назначены по умолчанию членам предопределенной роли сервера sysadmin и предопределенным ролям базы данных db_owner и db_backupoperator .

Проблемы, связанные с владельцем и разрешениями у физических файлов на устройстве резервного копирования, могут помешать операции резервного копирования. SQL Server должен иметь возможность чтения и записи на устройство; учетная запись, в которой выполняется служба SQL Server, должна иметь разрешения на запись. Однако процедура sp_addumpdevice, добавляющая запись для устройства резервного копирования в системные таблицы, не проверяет разрешения на доступ к файлу. Проблемы физического файла устройства резервного копирования могут не проявляться до момента доступа к физическому ресурсу во время операции резервного копирования или восстановления.

Использование среды SQL Server Management Studio

Замечание

При указании задачи резервного копирования с помощью SQL Server Management Studio можно создать соответствующий скрипт Transact-SQL BACKUP , нажав кнопку "Скрипт " и выбрав назначение скрипта.

Резервное копирование базы данных

  1. После подключения к соответствующему экземпляру сервера СУБД Microsoft SQL Server в обозревателе объектов щелкните по имени сервера, чтобы развернуть дерево сервера.

  2. Раскройте узел Базы данных, и в зависимости от базы данных выберите пользовательскую базу данных или раскройте узел Системные базы данных и выберите системную базу данных.

  3. Щелкните правой кнопкой мыши базу данных, выберите пункт Задачи, а затем команду Создать резервную копию. Откроется диалоговое окно Резервное копирование базы данных .

  4. В списке Database проверьте имя базы данных. При необходимости можно выбрать другую базу данных из списка.

  5. Резервное копирование базы данных можно выполнить для любой модели восстановления (FULL, BULK_LOGGED или SIMPLE).

  6. В списке Тип резервной копии выберите Полная.

    Обратите внимание, что после создания полной резервной копии базы данных можно создать разностную резервную копию базы данных; Дополнительные сведения см. в статье "Создание разностной резервной копии базы данных (SQL Server)".

  7. Также можно выбрать вариант Резервная копия только для копирования , чтобы создать резервную копию только для копирования. Резервная копия только для копирования — это резервная копия SQL Server, которая не зависит от последовательности обычных резервных копий SQL Server. Дополнительные сведения см. в статье Резервные копии только для копирования (SQL Server).

    Замечание

    При выборе разностного параметра невозможно создать резервную копию только для копирования.

  8. Для компонента резервного копирования нажмите кнопку Database.

  9. Оставьте имя резервного набора данных, предложенное по умолчанию в текстовом поле Имя , или введите другое имя резервного набора данных.

  10. При необходимости можно ввести описание резервного набора данных в текстовом поле Описание .

  11. Выберите тип назначения резервного копирования, щелкнув диск, ленту или URL-адрес. Чтобы выбрать пути к 64 (или менее) дискам или накопителям на магнитной ленте, содержащим один набор носителей, нажмите кнопку Добавить. Выбранные пути отображаются в списке Создать резервную копию в .

    Чтобы удалить носитель резервной копии, выберите его и нажмите кнопку Удалить. Чтобы просмотреть содержимое носителя резервной копии, выберите его и щелкните Содержимое.

  12. Чтобы просмотреть или выбрать параметры мультимедиа, нажмите кнопку "Параметры мультимедиа " на панели "Выбор страницы ".

  13. Выберите параметр Переписать носитель , указав один из следующих вариантов:

    • Сделать резервную копию на существующий набор носителей

      Для этого параметра выберите вариант Добавить в существующий резервный набор данных или Перезаписать все существующие резервные наборы данных. Дополнительные сведения см. в разделе "Наборы носителей", "Семейства носителей" и наборы резервных копий (SQL Server)".

      При необходимости выберите Проверить имя набора носителей и срок действия резервного набора данных , чтобы при выполнении операции резервного копирования производилась проверка срока действия набора носителей и резервного набора данных.

      При необходимости введите имя в текстовое поле Имя набора носителей . Если имя не указано, создается набор носителей с пустым именем. Если вы указываете имя набора носителей, то проверяется, совпадает ли его фактическое имя с введённым вами именем для носителя (ленты или диска).

      Это важно

      Этот параметр отключен, если вы выбрали URL-адрес в качестве назначения резервной копии на странице "Общие ". Дополнительные сведения см. на странице "Резервное копирование базы данных" (страница "Параметры мультимедиа")

      Если вы планируете использовать шифрование, не выбирайте этот параметр. Если этот параметр выбран, параметры шифрования на странице "Параметры резервного копирования " будут отключены. Шифрование не поддерживается при добавлении к существующему резервному набору данных.

    • Создать резервную копию в новом наборе носителей и удалить все существующие резервные наборы данных

      Для этого параметра введите имя в текстовом поле Имя нового набора носителей и при необходимости введите описание набора носителей в текстовое поле Описание нового набора носителей .

      Это важно

      Этот параметр отключен, если выбран URL-адрес на странице "Общие ". Эти действия не поддерживаются при резервном копировании в хранилище Azure.

  14. В разделе "Надежность" при необходимости проверьте:

  15. При резервном копировании на накопитель на магнитной ленте (как указано в разделе Назначение страницы Общие ) активен параметр Выгрузить ленту после резервного копирования . Щелкните этот параметр, чтобы активировать параметр Перемотать ленту перед выгрузкой .

    Замечание

    Параметры в разделе Журнал транзакций доступны, только если создается резервная копия журнала транзакций (это можно указать в разделе Тип резервной копии вкладки Общие).

  16. Чтобы просмотреть или выбрать параметры резервного копирования, нажмите кнопку "Параметры резервного копирования " на панели "Выбор страницы ".

  17. Укажите, когда срок действия резервного набора данных истекает и может быть перезаписан без явного пропуска проверки данных об истечении срока действия:

    • Чтобы резервный набор данных истекал через определенное количество дней, выберите После (параметр по умолчанию) и введите количество дней после создания набора, по истечении которых набор истечет. Это значение может быть задано в диапазоне от 0 до 99 999 дней. Значение 0 означает, что срок действия резервного набора данных не ограничен.

      Значение по умолчанию установлено в опции "Резервное хранилище носителей по умолчанию (в днях)" в диалоговом окне "Свойства сервера" (страница "Параметры базы данных"). Чтобы получить доступ к этому параметру, щелкните правой кнопкой мыши имя сервера в обозревателе объектов и выберите пункт "Свойства", а затем выберите страницу Настройки базы данных .

    • Чтобы указать дату истечения срока действия резервной копии, выберите пункт Дата и введите нужную дату.

      Дополнительные сведения о датах истечения срока действия резервного копирования см. в статье BACKUP (Transact-SQL).

  18. SQL Server 2008 Enterprise и более поздних версий поддерживает сжатие резервных копий. По умолчанию сжатие резервных копий зависит от значения параметра конфигурации сервера backup-compression default . Однако независимо от текущего значения по умолчанию на уровне сервера можно сжать резервные копии, установив параметр Сжимать резервные копии, или отказаться от сжатия резервных копий, установив параметр Не сжимать резервные копии.

    Просмотр или изменение текущего сжатия резервных копий по умолчанию

  19. Укажите, следует ли использовать шифрование для резервной копии. Выберите алгоритм шифрования для шага шифрования и выберите сертификат или асимметричный ключ из списка существующих сертификатов или асимметричных ключей. Шифрование поддерживается в SQL Server 2014 или более поздней версии. Дополнительные сведения о параметрах шифрования см. на странице "Резервное копирование базы данных" (страница параметров резервного копирования).

Замечание

Кроме того, можно использовать мастер планов обслуживания для создания резервных копий базы данных.

Использование Transact-SQL

Создание полной резервной копии базы данных

  1. Выполните инструкцию BACKUP DATABASE, чтобы создать полную резервную копию базы данных, указав:

    • имя базы данных для создания резервной копии;

    • устройство резервного копирования, на которое записывается полная резервная копия базы данных.

    Базовый синтаксис Transact-SQL для полной резервной копии базы данных:

    Резервное копирование базы данных database

    TO backup_device [ ,... n ]

    [ WITH with_options [ ,... o ] ] ;

    Вариант Описание
    база данных База данных, которую нужно резервно скопировать.
    backup_device [ ,... n ] Указывает список от 1 до 64 устройств резервного копирования, используемых для создания резервной копии. Можно указать как физическое устройство резервного копирования, так и соответствующее логическое устройство, если оно уже определено. Для указания физического устройства резервного копирования используйте параметр DISK или TAPE.

    { DISK | TAPE } =имя_физического_устройства_резервного_копирования

    Дополнительные сведения см. в разделе Устройства резервного копирования (SQL Server).
    С с_опциями [ ,...или ] При необходимости указывает один или несколько дополнительных параметров. Сведения о некоторых основных параметрах с возможностями выбора смотрите в шаге 2.
  2. При необходимости укажите один или несколько параметров WITH. Здесь описаны несколько основных вариантов WITH. Сведения обо всех параметрах WITH см. в разделе BACKUP (Transact-SQL).

    • Базовый набор резервных копий с параметрами:

      { СЖАТИЕ | БЕЗ СЖАТИЯ }
      Только в SQL Server 2008 Enterprise и более поздних версиях указывает, выполняется ли сжатие резервных копий для этой резервной копии, переопределяя значение по умолчанию на уровне сервера.

      ШИФРОВАНИЕ (АЛГОРИТМ, СЕРТИФИКАТ СЕРВЕРА |АСИММЕТРИЧНЫЙ КЛЮЧ)
      В SQL Server 2014 или более поздней версии укажите используемый алгоритм шифрования и ключ сертификата или асимметричного ключа для защиты шифрования.

      DESCRIPTION = { 'text' | @text_variable }
      Указывает текст свободной формы, описывающий резервный набор данных. В этой строке может содержаться до 255 символов.

      ИМЯ = { backup_set_name | @backup_set_name_var }
      Указывает имя резервного набора данных. Длина имени не может превышать 128 символов. Если параметр NAME не указан, то имя является пустым.

    • Базовый набор резервных копий с параметрами.

      По умолчанию BACKUP добавляет резервную копию к существующему набору носителей, сохраняя существующие резервные наборы. Чтобы явно указать это, используйте параметр NOINIT. Сведения о добавлении к существующим резервным наборам см. в разделе "Наборы носителей", "Семейства носителей" и "Резервные наборы" (SQL Server).

      Кроме того, чтобы отформатировать носитель резервного копирования, используйте параметр FORMAT:

      FORMAT [ , MEDIANAME**=** { media_name | @media_name_variable } ] [ , MEDIADESCRIPTION = { text | @text_variable } ]
      Используйте предложение FORMAT при первом использовании носителя или перезаписи всех существующих данных. При желании назначьте новому мультимедийному объекту имя и описание.

      Это важно

      Используйте крайнюю осторожность при использовании предложения FORMAT инструкции BACKUP, так как это уничтожает все резервные копии, ранее хранящиеся на носителе резервных копий.

Примеры (Transact-SQL)

А. Резервное копирование на дисковое устройство

В следующем примере выполняется резервное копирование полной базы данных AdventureWorks2012 на диск с помощью FORMAT создания нового набора носителей.

USE AdventureWorks2012;  
GO  
BACKUP DATABASE AdventureWorks2012  
TO DISK = 'Z:\SQLServerBackups\AdventureWorks2012.Bak'  
   WITH FORMAT,  
      MEDIANAME = 'Z_SQLServerBackups',  
      NAME = 'Full Backup of AdventureWorks2012';  
GO  

В. Резервное копирование на ленточное устройство

В следующем примере выполняется резервное копирование полной базы данных AdventureWorks2012на ленту, добавляя резервную копию к предыдущим резервным копиям.

USE AdventureWorks2012;  
GO  
BACKUP DATABASE AdventureWorks2012  
   TO TAPE = '\\.\Tape0'  
   WITH NOINIT,  
      NAME = 'Full Backup of AdventureWorks2012';  
GO  

С. Резервное копирование на логическое ленточное устройство

В следующем примере создается логическое устройство резервного копирования для ленточного накопителя. Затем в этом примере выполняется резервное копирование полной базы данных AdventureWorks2012 на это устройство.

-- Create a logical backup device,   
-- AdventureWorks2012_Bak_Tape, for tape device \\.\tape0.  
USE master;  
GO  
EXEC sp_addumpdevice 'tape', 'AdventureWorks2012_Bak_Tape', '\\.\tape0'; USE AdventureWorks2012;  
GO  
BACKUP DATABASE AdventureWorks2012  
   TO AdventureWorks2012_Bak_Tape  
   WITH FORMAT,  
      MEDIANAME = 'AdventureWorks2012_Bak_Tape',  
      MEDIADESCRIPTION = '\\.\tape0',   
      NAME = 'Full Backup of AdventureWorks2012';  
GO  

Использование PowerShell

  1. Используйте командлет Backup-SqlDatabase. Чтобы явно указать, что это полная резервная копия базы данных, укажите параметр -BackupAction со значением Databaseпо умолчанию. Данный параметр является необязательным для полных резервных копий баз данных.

    В следующем примере создается полная резервная копия базы данных MyDB в заданном по умолчанию расположении резервного копирования на экземпляре сервера Computer\Instance. При необходимости в этом примере указывается -BackupAction Database.

    Backup-SqlDatabase -ServerInstance Computer\Instance -Database MyDB -BackupAction Database  
    

Настройка и использование поставщика SQL Server PowerShell

Связанные задачи

См. также

Общие сведения о резервном копировании (SQL Server)
Резервные копии журналов транзакций (SQL Server)
Наборы носителей, семейства носителей и резервные наборы данных (SQL Server)
sp_addumpdevice (Transact-SQL)
BACKUP (Transact-SQL)
Архивация базы данных (страница "Общие")
Архивация базы данных (страница "Параметры резервного копирования")
Дифференциальные резервные копии (SQL Server)
Полные резервные копии баз данных (SQL Server)