Как создавать резервные копии файлов и файловых групп (язык Transact-SQL)

Если размер базы данных и требования по производительности делают полное резервное копирование базы данных нецелесообразным, можно создать резервную копию файла. Резервная копия файлов содержит данные одного или нескольких файлов или файловых групп. Дополнительные сведения о резервных копиях файлов см. в разделах Полное резервное копирование и Разностное резервное копирование файлов.

Важное примечаниеВажно!

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

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

  1. Чтобы создать резервную копию файла или файловой группы, используйте инструкцию 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 =logical_filegroup_name

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

    [ ,...f ]

    Заполнитель, указывающий на то, что могут быть указаны несколько файлов или файловых групп. Количество файлов или файловых групп не ограничено.

    backup_device [ ,...n ]

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

    { DISK | TAPE } =physical_backup_device_name

    Дополнительные сведения см. в разделе Устройства резервного копирования.

    WITH with_options [ ,...o ]

    При необходимости указывает один или более дополнительных параметров, например DIFFERENTIAL.

    ПримечаниеПримечание
    Основой для разностного резервного копирования файлов служит полное резервное копирование. Дополнительные сведения см. в разделе Разностное резервное копирование файлов.
  2. В рамках модели полного восстановления следует создать также резервную копию журнала. Чтобы использовать полный набор полных резервных копий файлов для восстановления базы данных, необходимо иметь достаточное количество резервных копий журнала, чтобы охватить все резервные копии файлов от начала резервной копии первого файла. Дополнительные сведения см. в разделе Как создавать резервные копии журналов транзакций (Transact-SQL).

Пример

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

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

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

--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'GO   WITH       DIFFERENTIAL,GO