Наборы носителей, семейства носителей и резервные наборы данных (SQL Server)

Область применения: SQL Server

В этой статье представлена базовая терминология резервного копирования и восстановления SQL Server и предназначена для читателей, которые являются новыми для SQL Server.

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

Примечание.

Дополнительные сведения о резервном копировании SQL Server в Хранилище BLOB-объектов Azure см. в статье SQL Server Backup and Restore with Microsoft Хранилище BLOB-объектов Azure.

Условия

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

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

резервный набор данных
Содержимое резервной копии добавляется на набор носителей при успешной операции резервного копирования.

Общие сведения о наборах носителей, семействах носителей и резервных наборах

Резервные копии на наборе из одного или более носителей резервных копий образуют отдельный набор носителей. Набор носителей — упорядоченная коллекция носителей резервных копий, лент или дисковых файлов либо больших двоичных объектов Azure, на которые производили запись одна или несколько операций резервного копирования, получая доступ по фиксированному типу и номеру устройства. Данный набор носителей использует накопители на магнитной ленте или дисковые накопители либо большие двоичные объекты Azure, но не сочетание двух или нескольких типов носителей.

Например , устройства резервного копирования, объединенные в набор носителей, могут включать в себя три ленточных накопителя с именами \\.\TAPE0, \\.\TAPE1и \\.\TAPE2. Этот набор содержит только ленточные носители, имеющие не менее трех лент (по одной на ленточный накопитель). Тип и число устройств резервного копирования устанавливаются при создании набора носителей и их нельзя изменить. Однако при необходимости, между операциями резервного копирования и восстановления можно заменить устройство на другое устройство аналогичного типа.

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

Примечание.

Для предотвращения потери данных в случае повреждения носителя (ленты или файла на диске), наборы носителей можно сделать зеркальными. Дополнительные сведения см. в разделе "Зеркальные резервные носители" (SQL Server).

Сжатые и несжатые резервные копии не могут выполняться вместе в наборе носителей. Любой выпуск SQL Server 2008 (10.0.x) или более поздней версии может считывать сжатые резервные копии. Дополнительные сведения см. в разделе Сжатие резервных копий (SQL Server).

Семейства носителей

Резервные копии, созданные на отдельном устройстве, не имеющем зеркального отображения, или на наборе устройств с зеркальным копированием, принадлежащем одному набору носителей, образуют семейство носителей. Количество устройств резервного копирования, используемых в наборе носителей, определяет количество семейств носителей в наборе носителей. Например, если набор носителей использует два незеркальных устройства резервного копирования, этот набор носителей содержит два семейства носителей.

В зеркальном наборе носителей каждое семейство носителей является зеркальным. Например, если шесть устройств резервного копирования формируют набор носителей, в котором используются два зеркала, этот набор содержит три семейства носителей, каждое из которых содержит по две резервных копии данных. Дополнительные сведения о зеркальных наборах носителей см. в разделе "Зеркальные резервные носители" (SQL Server).

Каждой ленте или диску в семействе носителей присваивается порядковый номер носителя. Порядковый номер носителя для диска всегда равен 1. Для семейства ленточных носителей порядковый номер исходной ленты равен 1, вторая лента получает номер 2 и т. д. Дополнительные сведения см. в подразделе Наборы носителей, семейства носителей и резервные наборы данных (SQL Server).

Заголовок носителя

Каждый том носителя резервной копии (дисковый файл или лента) содержит заголовок носителя, который создается первой операцией резервного копирования, использующей эту ленту или диск. Заголовок остается без изменений, пока носитель не будет отформатирован повторно.

Заголовок носителя содержит все сведения, необходимые, чтобы идентифицировать носитель (файл или ленту) и его место в семействе носителей. Эта информация включает:

  • Имя носителя.

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

  • Уникальный идентификатор набора носителей.

  • Количество семейств носителей в этом наборе носителей.

  • Порядковый номер семейства носителей, содержащего данный носитель.

  • Уникальный идентификатор семейства носителей.

  • Порядковый номер носителя в семействе носителей. Для дискового файла это значение всегда равно 1.

  • Содержит ли описание этого носителя метку MTF или описание носителя.

    Примечание.

    Все носители, используемые для операции резервного копирования или восстановления, используют стандартный формат резервного копирования с именем Microsoft Tape Format (MTF). MTF позволяет пользователям задавать метку ленты, которая содержит описание, характерное для MTF. SQL Server сохраняет любую метку мультимедиа MTF, написанную другим приложением, но не записывает метки мультимедиа MTF.

  • Метка носителя в формате ленты Майкрософт или описание носителя (в тексте свободной формы).

  • Название программы резервного копирования, записавшей метку.

  • Уникальный идентификатор поставщика программного обеспечения, с помощью которого отформатирован носитель.

  • Дата и время записи метки.

  • Количество зеркал в наборе (от 1 до 4); 1 является признаком того, что устройство не является зеркальным.

SQL Server 2019 (15.x) может обрабатывать носители, отформатированные более ранними версиями SQL Server.

Резервные наборы данных

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

В этом примере показана инструкция Transact-SQL, которая создает набор носителей, вызываемого MyAdvWorks_MediaSet_1 для AdventureWorks2022 базы данных, используя три ленточных диска в качестве устройств резервного копирования:

BACKUP DATABASE AdventureWorks2022  
TO TAPE = '\\.\tape0', TAPE = '\\.\tape1', TAPE = '\\.\tape2'  
WITH   
   FORMAT,  
   MEDIANAME = 'MyAdvWorks_MediaSet_1'  

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

Заголовок носителя и первый набор резервных копий на трех лентах

Как правило, после создания набора носителей все последующие операции резервного копирования добавляют резервные наборы данных к этому набору носителей. Все носители, используемые резервным набором данных, составляют набор носителей независимо от числа вовлеченных в операцию носителей или устройств резервного копирования. Резервные наборы данных последовательно нумеруются согласно их позиции в наборе носителей, что позволяет указывать резервный набор для восстановления.

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

BACKUP DATABASE AdventureWorks2022  
TO TAPE = '\\.\tape0', TAPE = '\\.\tape1', TAPE = '\\.\tape2'  
WITH   
   NOINIT,  
   MEDIANAME = 'AdventureWorksMediaSet1',  
   DIFFERENTIAL  

Примечание.

Параметр NOINIT используется по умолчанию, но включен для ясности.

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

Второй набор резервных копий, распределенный между тремя лентами набора носителей

При восстановлении резервных копий можно использовать параметр FILE, чтобы указать, какие резервные копии необходимо использовать. В следующем примере показано, как использовать предложения FILE =номер_файла_резервного_набора при восстановлении полной резервной копии базы данных AdventureWorks2022 , за которой следует разностная резервная копия на том же наборе носителей. Этот набор содержит три ленточных носителя, находящихся в накопителях на магнитной ленте \\.\tape0, tape1и tape2.

RESTORE DATABASE AdventureWorks2022 FROM TAPE = '\\.\tape0', TAPE = '\\.\tape1', TAPE = '\\.\tape2'  
   WITH   
   MEDIANAME = 'AdventureWorksMediaSet1',  
   FILE=1,   
   NORECOVERY;  
RESTORE DATABASE AdventureWorks2022 FROM TAPE = '\\.\tape0', TAPE = '\\.\tape1', TAPE = '\\.\tape2'   
   WITH   
   MEDIANAME = 'AdventureWorksMediaSet1',  
   FILE=2,   
   RECOVERY;  
GO  

Сведения о таблицах журнала, которые хранят сведения о наборах носителей и их семействах носителей и резервных наборах данных, см. в разделе "Журнал резервного копирования" и "Сведения о заголовках" (SQL Server).

Число носителей резервной копии в наборе носителей зависит от нескольких факторов:

  • от количества устройств резервного копирования;

  • от типа устройств резервного копирования;

  • от количества резервных наборов данных.

Создание нового набора носителей

Для создания нового набора носителей необходимо форматировать носитель резервной копии (одну или несколько магнитных лент или дисковых файлов). В процессе форматирования резервный носитель изменяется следующим образом.

  1. Удаляется старый заголовок (если он есть), фактически удаляется прежнее содержимое носителя резервной копии.

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

  2. Записывается новый заголовок носителя на носитель резервной копии (магнитную ленту или дисковый файл) в каждом из устройств резервного копирования.

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

При создании резервной копии на существующем наборе носителей имеются следующие два параметра:

  • Добавление к существующему резервному набору данных.

    Чтобы использовать доступное пространство наилучшим образом, новые резервные наборы данных обычно добавляются к существующим наборам носителей. Добавление к резервной копии сохраняет любые предшествующие резервные копии. Дополнительные сведения см. в подразделе Добавление к существующим резервным наборамниже в этом разделе.

Добавление, которое является поведением по умолчанию инструкции BACKUP, можно явно указать с помощью параметра NOINIT.

  • Перезапись всех существующих резервных наборов данных текущими копиями с оставлением на месте текущего заголовка носителя.

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

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

    Перезапись существующих резервных наборов данных задается с помощью параметра INIT инструкции BACKUP.

Добавление к существующим резервным наборам

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

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

Если для записи резервной копии на ленту используется инструкция BACKUP WITH NOREWIND, то в конце операции лента остается открытой. Это позволяет записывать последующие резервные копии на ленту без ее перемотки и последующего поиска последнего резервного набора. Список открытых ленточных дисков можно найти в динамическом представлении управления sys.dm_io_backup_tapes; дополнительные сведения см. в sys.dm_io_backup_tapes (Transact-SQL).

Резервные копии Microsoft Windows и резервные копии SQL Server могут совместно использовать один и тот же носитель, но они не взаимодействуют. Резервное копирование SQL Server не может создавать резервные копии данных Windows.

Внимание

Сжатые и несжатые резервные копии не могут совместно использоваться в одном наборе носителей. Любой выпуск SQL Server 2008 (10.0.x) или более поздних версий может считывать сжатые резервные копии. Дополнительные сведения см. в разделе Сжатие резервных копий (SQL Server).

Перезапись резервных наборов копий

Перезапись существующих резервных наборов данных задается с помощью параметра INIT инструкции BACKUP. Этот параметр перезаписывает все резервные наборы на носителе и сохраняет заголовок носителя при наличии. Если у носителя нет заголовка, он будет создан.

При копировании на ленту может иметь смысл оставлять заголовки лент. При копировании на дисковые носители переписываются только файлы, используемые устройствами резервного копирования, которые указаны в операции резервного копирования; остальные файлы на дисках сохраняются неизменными. При перезаписи резервных копий сохраняется каждый существующий заголовок носителя, и новая резервная копия создается в качестве первой для устройства. Если никакого заголовка у носителя нет, автоматически будет записан правильный заголовок, связанный с именем носителя и его описанием. Если существующий заголовок носителя недопустим, операция резервного копирования завершается. Если носитель пуст, формируется новый заголовок носителя с указанными параметрами MEDIANAME, MEDIAPASSWORD и MEDIADESCRIPTION, если таковые имеются.

Резервный носитель не перезаписывается, если существует одно из следующих условий:

  • Существующие резервные копии на носителе не истекли. (Если указан параметр SKIP, срок действия не проверяется.)

    Дата истечения срока хранения указывает день, когда истечет срок хранения резервной копии, и она сможет быть заменена другой копией. Дату истечения срока хранения резервной копии можно указать при ее создании. По умолчанию дата истечения срока хранения определяется набором параметров media retention хранимой процедуры sp_configure. Дополнительные сведения см. в статье sp_configure (Transact-SQL).

  • Имя носителя, если указано, не соответствует имени на резервном носителе.

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

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

Если носитель резервного копирования является паролем, защищенным Microsoft Windows, Microsoft SQL Server не записывает на носитель. Чтобы перезаписать защищенный паролем носитель, нужно его заново инициализировать.

Порядковые номера

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

  • Последовательные семейства носителей в наборе носителей.

    Семейства носителей в наборе носителей последовательно нумеруются в соответствие с их позицией в наборе носителей. Номер семейства носителей записывается в столбец family_sequence_number таблицы backupmediafamily .

  • Физический носитель в семействе носителей.

    Порядковый номер носителя указывает на место физического носителя в семействе носителей. Порядковый номер начального носителя резервной копии равен 1. Он обозначен цифрой 1, второй (первый дополнительный носитель) обозначен цифрой 2 и т.д. При восстановлении из резервного набора данных наличие порядковых номеров носителей позволяет гарантировать, что оператор, выполняющий восстановление, монтирует носители в правильном порядке.

Несколько устройств

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

  • При резервном копировании.

    Весь набор носителей, созданный операцией резервного копирования, должен целиком использоваться всеми последующими операциями резервного копирования. Например, если в созданном наборе носителей используется два накопителя на магнитной ленте для резервного копирования, то все последующие операции резервного копирования, включающие этот набор носителей, должны использовать два устройства резервного копирования.

  • При восстановлении.

    При любом восстановлении из резервных копий на диске или восстановлении «в сети», необходимо последовательно подключить все семейства носителей. При восстановлении вне сети с ленточных устройств резервного копирования можно обработать семейства носителей с меньшего количества устройств резервного копирования. Каждое семейство носителей полностью обрабатывается перед тем, как начинается обработка другого. Семейства носителей всегда обрабатываются параллельно, если происходит восстановление более чем с одного устройства.

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

Создание нового набора носителей

Добавление новой резервной копии к существующим носителям

Перезапись существующих резервных наборов данных

Дата истечения срока действия

Просмотр порядкового номера носителя и порядковые номера семейств носителей

Просмотр резервных наборов данных на конкретном устройстве резервного копирования

Считывание заголовка носителя с устройства резервного копирования

См. также

Резервное копирование и восстановление баз данных SQL Server
Возможные ошибки мультимедиа во время резервного копирования и восстановления (SQL Server)
Журнал резервных копий и сведения о заголовке резервной копии (SQL Server)
Зеркальные наборы носителей резервных копий (SQL Server)
BACKUP (Transact-SQL)
RESTORE (Transact-SQL)
RESTORE REWINDONLY (Transact-SQL)
sp_configure (Transact-SQL)