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


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

В этом разделе описывается резервное копирование файлов и файловых групп в SQL Server 2014 с помощью 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

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

  1. После подключения к соответствующему экземпляру компонента Компонент SQL Server Database Engineв обозревателе объектов разверните дерево сервера, щелкнув его имя.

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

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

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

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

  6. Для параметра Компонент резервного копирования выберите Файл и файловые группы.

  7. В диалоговом окне Выбор файлов и файловых групп выберите файлы и файловые группы, резервные копии которых необходимо создать. Можно выбрать один или несколько отдельных файлов или установить флажок для файловой группы, чтобы автоматически выбрать все файлы в этой группе.

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

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

  10. Укажите, когда истекает срок действия резервного набора данных.

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

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

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

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

    Примечание

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

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

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

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

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

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

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

      Если оставить имя носителя пустым и установить рядом с ним флажок для проверки, имя носителя при успешном завершении также станет пустым.

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

      Для этого параметра введите имя в текстовом поле Имя нового набора носителей и при необходимости введите описание набора носителей в текстовое поле Описание нового набора носителей . Дополнительные сведения о создании нового набора носителей см. в разделе Наборы носителей, семейства носителей и резервные наборы данных (SQL Server).

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

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

    Примечание

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

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

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

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

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

  1. Чтобы создать резервную копию файла или файловой группы, используйте инструкцию file_or_filegroup> BACKUP DATABASE<. В этой инструкции должны быть указаны по меньшей мере следующие данные:

    • Имя базы данных.

    • предложение FILE или FILEGROUP для каждого резервируемого файла или группы файлов;

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

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

    BACKUP DATABASE database

    { FILE =logical_file_name | FILEGROUP =logical_filegroup_name } [ ,... 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).
  2. В рамках модели полного восстановления следует создать также резервную копию журнала. Чтобы использовать полный набор полных резервных копий файлов для восстановления базы данных, необходимо иметь достаточное количество резервных копий журнала, чтобы охватить все резервные копии файлов от начала резервной копии первого файла. Дополнительные сведения см. в разделе Создание резервной копии журнала транзакций (SQL Server).

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

В следующих примерах описано резервное копирование одного или нескольких файлов из вторичных файловых групп в базе данных Sales . База данных использует модель полного восстановления и содержит следующие вторичные файловые группы.

  • Файловая группа с именем SalesGroup1 , содержащая файлы SGrp1Fi1 и SGrp1Fi2.

  • Файловая группа с именем SalesGroup2 , содержащая файлы SGrp2Fi1 и SGrp2Fi2.

A. Создание резервной копии двух файлов

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

Б. Создание полной резервной копии вторичных файловых групп

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

--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

Используйте командлет Backup-SqlDatabase и укажите Files в качестве значения параметра -BackupAction. Также укажите один из следующих параметров:

-   To back up a specific file, specify the `-DatabaseFile`*String* parameter, where *String* is one or more database files to be backed up.  

-   To back up all the files in a given filegroup, specify the `-DatabaseFileGroup`*String* parameter, where *String* is one or more database filegroups to be backed up.  

 The following example creates a full file backup of every file in the secondary filegroups 'FileGroup1' and 'FileGroup2' in the `MyDB` database. The backups are created on the default backup location of the server instance `Computer\Instance`.  

```powershell
Backup-SqlDatabase -ServerInstance Computer\Instance -Database MyDB -BackupAction Files -DatabaseFileGroup "FileGroup1","FileGroup2"  
```  

Сведения о настройке и использовании поставщика SQL Server PowerShell см. в статье SQL Server поставщик PowerShell.

См. также:

Backup Overview (SQL Server)
BACKUP (Transact-SQL)
RESTORE (Transact-SQL)
Журнал и сведения о заголовке резервной копии (SQL Server)
Резервное копирование базы данных (страница «Общие»)
Резервное копирование базы данных (страница «Параметры резервного копирования»)
полные резервные копии файлов (SQL Server)
Разностные резервные копии (SQL Server)
Файлы из резервных копий (модель полного восстановления)
Восстановления файлов (простая модель восстановления)