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


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

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

Примечание

Сведения о резервном копировании SQL Server в службу хранилища BLOB-объектов Azure см. в статье SQL Server Резервное копирование и восстановление с помощью службы Хранилище BLOB-объектов Azure.

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

Перед началом

Ограничения

  • Инструкция BACKUP не разрешена в явных и неявных транзакциях.

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

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

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

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

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

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

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

Для резервной копии базы данных свойству TRUSTWORTHY присваивается значение OFF. Сведения о том, как присвоить параметру TRUSTWORTHY значение ON, см. в разделе Параметры ALTER DATABASE SET (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 Database Engine в обозревателе объектов разверните дерево сервера, щелкнув его имя.

  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 для полной резервной копии базы данных:

    BACKUP DATABASE database

    TO backup_device [ , ...n ]

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

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

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

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

    • Основные параметры WITH резервного набора данных:

      { COMPRESSION | NO_COMPRESSION }
      Только в SQL Server 2008 Enterprise и более поздних версиях указывает, выполняется ли сжатие резервной копии для этой резервной копии, переопределяя значение по умолчанию на уровне сервера.

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

      ОПИСАНИЕ = { 'text' | @text_variable }
      Задает произвольное текстовое описание резервного набора данных. В этой строке может содержаться до 255 символов.

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

    • Основные параметры WITH резервного набора данных:

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

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

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

      Важно!

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

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

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

В следующем примере выполняется резервное копирование полной базы данных 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

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

См. также:

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