Создание полной резервной копии базы данных (SQL Server)
В этом разделе описывается создание полной резервной копии базы данных в SQL Server 2012 с помощью Среда SQL Server Management Studio, Transact-SQL или PowerShell.
Примечание |
---|
Начиная с версии SQL Server 2012 с пакетом обновления 1 (SP1) и накопительным обновлением CU2, поддерживается резервное копирование данных SQL Server в службу хранилищ больших двоичных объектов Windows Azure. Дополнительные сведения см. в разделах Backup and Restore Enhancements и Резервное копирование и восстановление SQL Server с помощью службы хранилищ больших двоичных объектов Windows Azure. |
В этом разделе
Перед началом работы
Ограничения
Рекомендации
Безопасность
Создание полной резервной копии базы данных с помощью:
SQL Server Management Studio
Transact-SQL
PowerShell
Связанные задачи
Перед началом работы:
Ограничения
Инструкция 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, нажав кнопку Скрипт и выбрав назначение скрипта. |
Создание резервной копии базы данных
После подключения к соответствующему экземпляру компонента Microsoft Компонент SQL Server Database Engine в обозревателе объектов разверните дерево сервера, щелкнув имя сервера.
Раскройте узел Базы данных и в зависимости от типа восстанавливаемой базы данных выберите пользовательскую базу данных или раскройте узел Системные базы данных и выберите системную базу данных.
Щелкните правой кнопкой мыши базу данных, выберите пункт Задачи, а затем выберите команду Создать резервную копию. Откроется диалоговое окно Резервное копирование базы данных.
В списке База данных проверьте имя базы данных. При необходимости можно выбрать другую базу данных из списка.
Резервное копирование базы данных можно выполнять для любой модели восстановления (FULL, BULK_LOGGED или SIMPLE).
В списке Тип резервной копии выберите Полная.
Обратите внимание на то, что при создании полной резервной копии базы данных можно создавать разностные резервные копии; дополнительные сведения см. в разделе Создание разностной резервной копии базы данных (SQL Server).
Также можно выбрать вариант Резервная копия только для копирования, чтобы создать резервную копию только для копирования. Резервная копия только для копирования — это резервная копия, изолированная от обычной последовательности резервных копий SQL Server. Дополнительные сведения см. в разделе Резервные копии только для копирования (SQL Server).
Примечание Если выбран параметр Разностная, то резервную копию только для копирования создать не удастся.
В разделе Компонент резервного копирования выберите База данных.
Оставьте имя резервного набора данных, предложенное по умолчанию в текстовом поле Имя, или введите другое имя резервного набора данных.
При необходимости можно ввести описание резервного набора данных в текстовом поле Описание.
Укажите, когда закончится срок действия резервного набора данных и когда этот набор может быть перезаписан без явного пропуска проверки на истечение срока.
Чтобы задать срок действия резервного набора данных, выберите пункт После (параметр по умолчанию) и введите срок действия набора в днях с момента его создания. Это значение может быть задано в диапазоне от 0 до 99999 дней 0 означает, что срок действия резервного набора данных не ограничен.
Значение по умолчанию задается в параметре Срок хранения носителей резервных копий по умолчанию (дней): диалогового окна Свойства сервера (страница «Параметры базы данных»). Чтобы получить доступ к этому параметру, щелкните правой кнопкой мыши имя сервера в обозревателе объектов и выберите пункт «Свойства», а затем выберите страницу Настройки базы данных.
Чтобы указать дату истечения срока действия резервного набора данных, выберите пункт На и введите дату истечения срока действия резервного набора данных.
Дополнительные сведения о дате истечения срока действия резервных копий см. в разделе BACKUP (Transact-SQL).
Чтобы выбрать тип назначения резервной копии, выберите пункт Диск или Лента. Чтобы выбрать пути к 64 (или менее) дискам или накопителям на магнитной ленте, содержащим один набор носителей, нажмите кнопку Добавить. Выбранные пути отображаются в списке Создать резервную копию в.
Чтобы удалить носитель резервной копии, выберите его и нажмите кнопку Удалить. Чтобы просмотреть содержимое носителя резервной копии, выберите его и щелкните Содержимое.
Чтобы просмотреть или выбрать дополнительные параметры, нажмите кнопку Параметры на панели Выбор страницы.
Выберите параметр Переписать носитель, указав один из следующих вариантов:
Создать резервную копию в существующем наборе носителей
Для этого параметра выберите вариант Добавить в существующий резервный набор данных или Перезаписать все существующие резервные наборы данных. Дополнительные сведения см. в разделе Наборы носителей, семейства носителей и резервные наборы данных (SQL Server).
При необходимости выберите Проверить имя набора носителей и срок действия резервного набора данных, чтобы при выполнении операции резервного копирования производилась проверка срока действия набора носителей и резервного набора данных.
При необходимости введите имя в текстовое поле Имя набора носителей. Если имя не указано, создается набор носителей с пустым именем. Если имя набора носителей указано, то для носителя (ленточного или дискового) проверяется совпадение введенного и существующего имени.
Создать резервную копию в новом наборе носителей и удалить все существующие резервные наборы данных
Для этого параметра введите имя в текстовое поле Имя нового набора носителей и при необходимости введите описание набора носителей в поле Описание нового набора носителей.
В разделе Надежность можно также установить флажки:
Проверить резервную копию после завершения.
Рассчитать контрольную сумму перед записью на носитель и, при необходимости, Продолжить при ошибке контрольной суммы. Дополнительные сведения о контрольных суммах см. в разделе Возможные ошибки носителей во время резервного копирования и восстановления (SQL Server).
При резервном копировании на накопитель на магнитной ленте (как указано в разделе Назначение страницы Общие) активен параметр Выгрузить ленту после резервного копирования. Щелкните этот параметр, чтобы активировать параметр Перемотать ленту перед выгрузкой.
Примечание Параметры в разделе Журнал транзакций доступны, только если создается резервная копия журнала транзакций (это можно указать в разделе Тип резервной копии вкладки Общие).
SQL Server 2008 Enterprise и более поздние версии поддерживают сжатие резервных копий. По умолчанию сжатие резервных копий зависит от значения параметра конфигурации сервера backup-compression default. Однако, независимо от текущего значения по умолчанию на уровне сервера, можно сжать резервные копии, установив параметр Сжимать резервные копии, и отказаться от сжатия резервных копий, установив параметр Не сжимать резервные копии.
Просмотр и изменение текущих значений параметров по умолчанию для сжатия резервных копий
Примечание |
---|
Также для создания резервных копий баз данных можно использовать мастер планов обслуживания базы данных. |
[В начало]
Использование Transact-SQL
Создание полной резервной копии базы данных
Выполните инструкцию 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 } = physical_backup_device_name
Дополнительные сведения см. в разделе Устройства резервного копирования (SQL Server).
WITH with_options [ ,...o ]
При необходимости указывает один или несколько дополнительных параметров, o. Сведения о некоторых основных параметрах см. в пункте 2.
При необходимости укажите один или несколько параметров WITH. Здесь описываются некоторые основные параметры WITH. Сведения о всех параметрах WITH см. в разделе BACKUP (Transact-SQL).
Основные параметры WITH резервного набора данных:
{ COMPRESSION | NO_COMPRESSION }
Только в версии SQL Server 2008 Enterprise и более поздних указывает, выполняется ли для данной резервной копии команда backup compression, заменяя параметры уровня сервера по умолчанию.DESCRIPTION = { '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)
А.Резервное копирование на дисковое устройство
В следующем примере производится резервное копирование всей базы данных 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
Используйте командлет Backup-SqlDatabase. Чтобы явно указать, что это полная резервная копия базы данных, задайте параметр -BackupAction со значением по умолчанию Database. Данный параметр является необязательным для полных резервных копий баз данных.
В следующем примере создается полная резервная копия базы данных MyDB в заданном по умолчанию расположении резервных копирований на экземпляре сервера Computer\Instance. Дополнительно в этом примере указывается -BackupAction Database.
--Enter this command at the PowerShell command prompt, C:\PS> Backup-SqlDatabase -ServerInstance Computer\Instance -Database MyDB -BackupAction Database
Настройка и использование поставщика SQL Server PowerShell
[В начало]
Связанные задачи
Создание разностной резервной копии базы данных (SQL Server)
Восстановление резервной копии базы данных (среда SQL Server Management Studio)
Восстановление резервной копии базы данных в простой модели восстановления (Transact-SQL)
Восстановление базы данных до точки сбоя в модели полного восстановления (Transact-SQL)
[В начало]
См. также
Справочник
sp_addumpdevice (Transact-SQL)
Резервное копирование базы данных (страница «Общие»)
Резервное копирование базы данных (страница «Параметры»)
Основные понятия
Общие сведения о резервном копировании (SQL Server)
Резервные копии журналов транзакций (SQL Server)
Наборы носителей, семейства носителей и резервные наборы данных (SQL Server)