Создание резервных копий файлов и файловых групп
Область применения: SQL Server
В этом разделе описывается резервное копирование файлов и файловых групп в SQL Server с помощью SQL Server Management Studio, Transact-SQL или PowerShell. Если размер базы данных и требования по производительности делают полное резервное копирование базы данных нецелесообразным, можно создать резервную копию файлов. Резервная копия файлов содержит данные одного или нескольких файлов или файловых групп.
Дополнительные сведения о резервных копиях файлов см. в разделе "Полные резервные копии файлов" (SQL Server) и разностные резервные копии (SQL Server).
Перед началом
Ограничения
Инструкция BACKUP не разрешена в явных и неявных транзакциях.
В простой модели восстановления резервные копии файлов для чтения и записи должны создаваться вместе. Это помогает обеспечить восстановление базы данных до согласованного момента времени. Вместо того чтобы указывать каждый файл или файловую группу для чтения и записи, воспользуйтесь параметром READ_WRITE_FILEGROUPS. Этот параметр создает резервные копии всех файловых групп, доступных для чтения и записи, в базе данных. Резервная копия, созданная путем указания READ_WRITE_FILEGROUPS называется частичной резервной копией, см. раздел "Частичные резервные копии" (SQL Server).
Дополнительные сведения об ограничениях и ограничениях см. в разделе "Обзор резервного копирования" (SQL Server).
Рекомендации
По умолчанию каждая успешная операция резервного копирования добавляет запись в журнал ошибок SQL Server и в журнал системных событий. Если создание резервной копии журналов производится очень часто, сообщения об успешном завершении накапливаются очень быстро. Это приводит к увеличению журналов ошибок, затрудняя поиск других сообщений. В таких случаях эти записи журнала можно отключить с помощью флага трассировки 3226, если ни один из скриптов не зависит от этих записей, см. раздел "Флаги трассировки" (Transact-SQL).
Разрешения
Разрешения BACKUP DATABASE
и BACKUP LOG
по умолчанию назначаются участникам предопределенной роли сервера sysadmin и предопределенным ролям базы данных db_owner и db_backupoperator.
Проблемы, связанные с владельцем и разрешениями у физических файлов на устройстве резервного копирования, могут помешать операции резервного копирования. SQL Server должен иметь возможность чтения и записи на устройство; учетная запись, в которой выполняется служба SQL Server, должна иметь разрешения на запись. Однако процедура sp_addumpdevice, добавляющая запись для устройства резервного копирования в системные таблицы, не проверяет разрешения на доступ к файлу. Проблемы физического файла устройства резервного копирования могут не проявляться до момента доступа к физическому ресурсу во время операции резервного копирования или восстановления.
Использование среды SQL Server Management Studio
После подключения к соответствующему экземпляру SQL Server ядро СУБД в обозреватель объектов щелкните имя сервера, чтобы развернуть дерево сервера.
Раскройте узел Базы данныхи в зависимости от типа восстанавливаемой базы данных выберите пользовательскую базу данных или раскройте узел Системные базы данных и выберите системную базу данных.
Щелкните правой кнопкой мыши базу данных, выберите пункт Задачи, а затем команду Создать резервную копию. Откроется диалоговое окно Резервное копирование базы данных .
В списке База данных проверьте имя базы данных. При необходимости можно выбрать другую базу данных из списка.
В списке Тип резервной копии выберите Полная или Разностная.
Для параметра Компонент резервного копирования выберите Файл и файловые группы.
В диалоговом окне Выбор файлов и файловых групп выберите файлы и файловые группы, резервные копии которых необходимо создать. Можно выбрать один или несколько отдельных файлов или установить флажок для файловой группы, чтобы автоматически выбрать все файлы в этой группе.
Оставьте имя резервного набора данных, предложенное по умолчанию в текстовом поле Имя , или введите другое имя резервного набора данных.
(Необязательно) В текстовом поле Описание введите описание резервного набора данных.
Укажите, когда истекает срок действия резервного набора данных.
Чтобы задать срок действия резервного набора данных, выберите пункт После (параметр по умолчанию) и введите срок действия набора в днях с момента его создания. Это значение может быть задано в диапазоне от 0 до 99 999 дней. Значение 0 означает, что срок действия резервного набора данных не ограничен.
Значение по умолчанию задается в параметре Срок хранения носителей резервных копий по умолчанию (дней) диалогового окна Свойства сервера (страницаПараметры базы данных ). Чтобы получить доступ к этому параметру, щелкните правой кнопкой мыши на имени сервера в обозревателе объектов и выберите его свойства, затем выберите страницу Параметры базы данных .
Чтобы указать дату истечения срока действия резервного набора данных, выберите пункт Наи введите дату истечения срока действия резервного набора данных.
Чтобы выбрать тип назначения резервной копии, выберите пункт Диск или Лента. Чтобы выбрать пути к 64 (или менее) дискам или ленточным накопителям, содержащим один набор носителей, нажмите кнопку Добавить. Выбранные пути отображаются в списке Сохранить на .
Примечание.
Чтобы удалить носитель резервной копии, выберите его и нажмите кнопку Удалить. Чтобы просмотреть содержимое носителя резервной копии, выберите его и щелкните Содержимое.
Чтобы просмотреть или выбрать дополнительные параметры, нажмите кнопку Параметры на панели Выбор страницы .
Выберите параметр Переписать носитель , указав один из следующих вариантов:
Создать резервную копию в существующем наборе носителей
Для этого параметра выберите вариант Добавить в существующий резервный набор данных или Перезаписать все существующие резервные наборы данных.
Сведения о резервном копировании в существующий набор носителей см. в разделе "Наборы носителей", "Семейства носителей" и "Резервные наборы" (SQL Server).
(Необязательно) Выберите Проверить имя набора носителей и срок действия резервного набора данных, чтобы при выполнении операции резервного копирования проверялся срок действия набора носителей и резервного набора данных.
(Необязательно) Введите имя в текстовом поле Имя набора носителей. Если имя не указано, создается набор носителей с пустым именем. Если имя набора носителей указано, то для носителя (ленточного или дискового) проверяется совпадение введенного и существующего имени.
Если оставить имя носителя пустым и установить рядом с ним флажок для проверки, имя носителя при успешном завершении также станет пустым.
Создать резервную копию в новом наборе носителей и удалить все существующие резервные наборы данных
Для этого параметра введите имя в текстовом поле Имя нового набора носителей и при необходимости введите описание набора носителей в текстовое поле Описание нового набора носителей .
Дополнительные сведения о создании нового набора носителей см. в разделе "Наборы носителей", "Семейства носителей" и "Резервные наборы" (SQL Server).
(Необязательно) В разделе Надежность можно также установить флажки:
Проверить резервную копию после завершения.
Рассчитать контрольную сумму перед записью на носитель и (необязательно) Продолжить при ошибке контрольной суммы.
Дополнительные сведения о контрольных суммах см. в разделе "Возможные ошибки мультимедиа во время резервного копирования и восстановления" (SQL Server).
При резервном копировании на накопитель на магнитной ленте (как указано в разделе Назначение страницы Общие ) активен параметр Выгрузить ленту после резервного копирования . Выбор этого параметра активирует параметр Перемотать ленту перед выгрузкой .
Примечание.
Параметры в разделе Журнал транзакций доступны, только если создается резервная копия журнала транзакций (это можно указать в разделе Тип резервной копии вкладки Общие).
SQL Server 2008 (10.0.x) Корпоративная и более поздние версии поддерживают сжатие резервных копий. По умолчанию сжатие резервных копий зависит от значения параметра конфигурации сервера backup-compression default . Однако независимо от текущего значения по умолчанию на уровне сервера можно сжать резервные копии, установив параметр Сжимать резервные копии, или отказаться от сжатия резервных копий, установив параметр Не сжимать резервные копии.
Сведения о том, как просмотреть текущую настройку сжатия резервных копий по умолчанию, см. в разделе Параметр конфигурации сервера "Просмотр или настройка параметра сжатия резервных копий по умолчанию".
Использование Transact-SQL
Чтобы создать резервную копию файлов или файловой группы, используйте инструкцию BACKUP DATABASE <file_or_filegroup> . В этой инструкции должны быть указаны по меньшей мере следующие данные:
Имя базы данных.
предложение FILE или FILEGROUP для каждого резервируемого файла или группы файлов;
устройство резервного копирования, на которое будет записываться полная резервная копия.
Базовый синтаксис Transact-SQL для резервного копирования файлов:
BACKUP DATABASE database
{ FILE =логическое_имя_файла | FILEGROUP =логическое_имя_файловой_группы } [ ,...f ]
TO backup_device [ ,...n ]
[ WITH with_options [ ,...o ] ] ;
Вариант | Описание |
---|---|
database | База данных, журнал транзакций и часть данных или все данные, которые подвергаются резервному копированию. |
FILE =логическое_имя_файла | Указывает логическое имя файла, который необходимо включить в резервную копию. |
FILEGROUP =логическое_имя_файловой_группы | Указывает логическое имя файловой группы, которую необходимо включить в резервную копию. В простой модели восстановления создание резервной копии файловой группы разрешено лишь для файловых групп, доступных только для чтения. |
[ ,...f ] | Заполнитель, указывающий на то, что могут быть указаны несколько файлов или файловых групп. Количество файлов или файловых групп не ограничено. |
backup_device [ ,...n ] | Указывает список от 1 до 64 устройств резервного копирования, используемых для создания резервной копии. Можно указать как физическое устройство резервного копирования, так и соответствующее логическое устройство, если оно уже определено. Для указания физического устройства резервного копирования используйте параметр DISK или TAPE. { DISK | TAPE } =имя_физического_устройства_резервного_копирования Дополнительные сведения см. в разделе Устройства резервного копирования (SQL Server). |
WITH with_options [ ,...o ] | При необходимости указывает один или более дополнительных параметров, например DIFFERENTIAL. Основой для разностного резервного копирования файлов служит полное резервное копирование. Дополнительные сведения см. в статье "Создание разностной резервной копии базы данных (SQL Server)". |
В рамках модели полного восстановления следует создать также резервную копию журнала. Чтобы использовать полный набор полных резервных копий файлов для восстановления базы данных, необходимо иметь достаточное количество резервных копий журнала, чтобы охватить все резервные копии файлов от начала резервной копии первого файла.
Дополнительные сведения см. в разделе Создание резервной копии журнала транзакций (SQL Server).
Примеры
В следующих примерах описано резервное копирование одного или нескольких файлов из вторичных файловых групп в базе данных Sales
. База данных использует модель полного восстановления и содержит следующие вторичные файловые группы.
Файловая группа с именем
SalesGroup1
, содержащая файлыSGrp1Fi1
иSGrp1Fi2
.Файловая группа с именем
SalesGroup2
, содержащая файлыSGrp2Fi1
иSGrp2Fi2
.
А. Создание резервной копии двух файлов
В следующем примере создается разностная резервная копия только файла SGrp1Fi2
из группы SalesGroup1
и файла SGrp2Fi2
из группы SalesGroup2
.
--Backup the files in the SalesGroup1 secondary filegroup.
BACKUP DATABASE Sales
FILE = 'SGrp1Fi2',
FILE = 'SGrp2Fi2'
TO DISK = 'G:\SQL Server Backups\Sales\SalesGroup1.bck';
GO
B. Создание полной резервной копии вторичных файловых групп
В следующем примере создается полная резервная копия каждого файла в обеих вторичных файловых группах.
--Back up the files in SalesGroup1.
BACKUP DATABASE Sales
FILEGROUP = 'SalesGroup1',
FILEGROUP = 'SalesGroup2'
TO DISK = 'C:\MySQLServer\Backups\Sales\SalesFiles.bck';
GO
В. Создание разностной резервной копии файлов вторичных файловых групп
В следующем примере создается разностная резервная копия каждого файла в обеих вторичных файловых группах.
--Back up the files in SalesGroup1.
BACKUP DATABASE Sales
FILEGROUP = 'SalesGroup1',
FILEGROUP = 'SalesGroup2'
TO DISK = 'C:\MySQLServer\Backups\Sales\SalesFiles.bck'
WITH
DIFFERENTIAL;
GO
Использование PowerShell
Настройка и использование поставщика SQL Server PowerShell.
Используйте командлет Backup-SqlDatabase и укажите Files в качестве значения параметра -BackupAction . Также укажите один из следующих параметров:
Чтобы создать резервную копию определенного файла, укажите параметр -DatabaseFileString , где String ― это один или несколько файлов базы данных для резервного копирования.
Чтобы создать резервную копию всех файлов из заданной файловой группы, укажите параметр -DatabaseFileGroupString , где String ― это одна или несколько файловых групп базы данных для резервного копирования.
В следующем примере создается полная резервная копия каждого файла из вторичных файловых групп «FileGroup1» и «FileGroup2» базы данных <myDatabase>
. Резервные копии создаются в расположении резервных копий по умолчанию экземпляра сервера Computer\Instance
.
Backup-SqlDatabase -ServerInstance Computer\Instance -Database <myDatabase> -BackupAction Files -DatabaseFileGroup "FileGroup1","FileGroup2"
См. также
Общие сведения о резервном копировании (SQL Server)
BACKUP (Transact-SQL)
RESTORE (Transact-SQL)
Журнал резервных копий и сведения о заголовке резервной копии (SQL Server)
Архивация базы данных (страница "Общие")
Архивация базы данных (страница "Параметры резервного копирования")
Полные резервные копии файлов (SQL Server)
Разностные резервные копии (SQL Server)
Восстановление файлов (модель полного восстановления)
Восстановление файлов (простая модель восстановления)