Устройства резервного копирования (SQL Server)
Во время операции резервного копирования в базе данных SQL Server данные резервной копии (резервная копия) записываются на физическое устройство резервного копирования. Данное физическое устройство резервного копирования инициализируется при записи на него первой резервной копии в наборе носителей. Резервные копии на наборе из одного или нескольких устройств резервного копирования образуют отдельный набор носителей.
В этом разделе.
Термины и определения
диск для резервного копирования
Жесткий диск или другое дисковое устройство хранения, на котором содержится один или несколько файлов резервной копии. Файл резервной копии является обычным файлом операционной системы.
набор носителей
Упорядоченный набор носителей резервного копирования, ленточных накопителей или дисковых файлов, которые используют определенный тип и количество устройств резервного копирования. Дополнительные сведения о наборах носителей см. в разделе Наборы носителей, семейства носителей и резервные наборы данных (SQL Server).
физическое устройство резервного копирования
Ленточный накопитель или дисковый файл, предоставленный операционной системой. В резервном копировании может участвовать от 1 до 64 устройств. Если для резервного копирования требуется несколько устройств, все устройства должны быть одного типа (диск или ленточный накопитель).
Кроме диска или магнитной ленты, резервное копирование SQL Server можно также выполнять в службу хранилища BLOB-объектов Azure.
Использование дисковых устройств резервного копирования
В этом разделе.
Указание файла резервной копии по его физическому имени (Transact-SQL)
Резервное копирование в файл, расположенный в общей сетевой папке
Если дисковый файл будет заполнен во время добавления резервной копии к набору носителей операцией резервного копирования, то она завершится c ошибкой. Максимальный размер файла резервной копии определяется свободным местом, доступным на жестком диске, поэтому необходимый размер жесткого диска резервного копирования зависит от размера резервных копий.
В качестве дискового устройства резервного копирования может использоваться обычный жесткий диск, например диск с интерфейсом ATA. Кроме того, можно использовать жесткие диски с возможностью горячей замены, которые позволяют, не прерывая работу системы, заменять заполненный диск на пустой. Диск резервного копирования может быть как локальным диском сервера, так и удаленным диском, который является общим сетевым ресурсом. Дополнительные сведения об использовании удаленных дисков см. в подразделе Резервное копирование в файл, расположенный в общей сетевой папке, далее в этом разделе.
SQL Server средства управления очень гибки при обработке устройств резервного копирования дисков, так как они автоматически создают имя с меткой времени в файле диска.
Важно!
Резервные копии, базы данных и журналы рекомендуется хранить на разных дисках. Это является необходимым, чтобы можно было гарантировать возможность доступа к резервным копиям при сбое диска с базой данных или журналами.
Указание файла резервной копии по его физическому имени (Transact-SQL)
Базовый синтаксис инструкции BACKUP для указания файла резервного копирования с помощью его физического имени:
BACKUP DATABASE database_name
TO DISK = { 'physical_backup_device_name'physical_backup_device_name_var | @ }
Пример:
BACKUP DATABASE AdventureWorks2012
TO DISK = 'Z:\SQLServerBackups\AdventureWorks2012.bak';
GO
Базовый синтаксис для указания физического жесткого диска в инструкции RESTORE :
RESTORE { DATABASE | LOG } database_name
FROM DISK = { 'physical_backup_device_name'physical_backup_device_name_var | @ }
Например,
RESTORE DATABASE AdventureWorks2012
FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2012.bak';
Указание пути к файлу резервной копии диска
При указании файла резервного копирования следует ввести полный путь и имя файла. Если введено только имя файла или относительный путь для резервного копирования на диск, то файл резервной копии будет помещен в определенный по умолчанию каталог для резервных копий. Резервным каталогом по умолчанию является C:\Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\Backup, где n — номер экземпляра сервера. Поэтому для экземпляра сервера по умолчанию каталогом, использующимся по умолчанию для резервного копирования, является C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Backup.
Чтобы избежать неоднозначности, особенно в скриптах, рекомендуется явно указывать путь каталога резервного копирования в каждом предложении DISK. Однако это менее важно при использовании редактора запросов. В этом случае, если вы уверены, что файл резервного копирования находится в определенном по умолчанию каталоге для резервных копий, можно опустить путь в предложении DISK. Например, следующая BACKUP
инструкция создает резервную копию базы данных AdventureWorks2012 в каталог резервного копирования по умолчанию.
BACKUP DATABASE AdventureWorks2012
TO DISK = 'AdventureWorks2012.bak';
GO
Примечание
Расположение по умолчанию находится в разделе реестра BackupDirectory в ветке HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.n\MSSQLServer.
Резервное копирование в файл, расположенный в общей сетевой папке
Чтобы SQL Server получить доступ к файлу удаленного диска, учетная запись службы SQL Server должна иметь доступ к сетевой папке. Включая наличие разрешений на запись, необходимых для выполнения операций резервного копирования на общий сетевой ресурс, и разрешения на чтение с ресурса для выполнения операций восстановления. Доступность сетевых дисков и разрешений зависит от контекста, в котором выполняется SQL Server служба:
Для резервного копирования на сетевой диск, когда SQL Server выполняется в учетной записи пользователя домена, общий диск должен быть сопоставлен как сетевой диск в сеансе, где выполняется SQL Server. Если вы запускаете Sqlservr.exe из командной строки, SQL Server увидите все сетевые диски, сопоставленные в сеансе входа.
При запуске Sqlservr.exe как службы SQL Server выполняется в отдельном сеансе, который не имеет отношения к сеансу входа. Сеанс службы может иметь собственные подключенные сетевые диски, но, как правило, они отсутствуют.
Можно подключиться, используя учетную запись сетевой службы, если вместо пользователя домена указать учетную запись компьютера. Чтобы разрешить выполнение резервного копирования с определенных компьютеров на общий диск, нужно предоставить доступ к учетным записям компьютеров. Пока процесс Sqlservr.exe имеет доступ на запись резервных копий, было бы неправильно предоставлять доступ пользователю, посылающему инструкцию BACKUP.
Важно!
Резервное копирование данных через сеть может быть причиной сетевых ошибок. Поэтому при использовании удаленного диска рекомендуется проверять операцию резервного копирования после ее завершения. Дополнительные сведения см. в разделе RESTORE VERIFYONLY (Transact-SQL).
Как указать имя в формате UNC
Чтобы указать сетевой ресурс в инструкции резервного копирования или восстановления, для файла, расположенного на устройстве резервного копирования, необходимо использовать полностью заданное имя в формате UNC. UNC-имя имеет вид \\Имя_\системы Имя_общего ресурса\путь\Имя_файла.
Например:
BACKUP DATABASE AdventureWorks2012
TO DISK = '\\BackupSystem\BackupDisk1\AW_backups\AdventureWorksData.Bak';
GO
Использование ленточных устройств
Примечание
Поддержка резервного копирования на ленточные устройства будет исключена в будущей версии SQL Server. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется.
В этом разделе.
Указание ленты для резервного копирования по ее физическому имени (Transact-SQL)
Параметры резервного копирования и восстановления на ленте (Transact-SQL)
Для резервного копирования SQL Server данных на ленту требуется поддержка ленточного накопителя или дисков операционной системой Microsoft Windows. Кроме того, для накопителя на магнитной ленте рекомендуется использовать только ту магнитную ленту, которая рекомендована производителем накопителя. Дополнительные сведения об установке накопителя на магнитной ленте см. в документации по операционной системе Windows.
Если при резервном копировании на магнитную ленту одна лента будет заполнена, то запись резервной копии может быть продолжена на другую ленту. Каждая лента содержит заголовок носителя. Первый использованный носитель называется исходной лентой. Каждая последующая лента называется дополнительная лента и имеет номер носителя на один больше предыдущего. Например, набор носителей, связанный с четырьмя ленточными накопителями, содержит, по меньшей мере, четыре исходных ленты (и, если база данных не умещается, то четыре серии дополнительных лент). При наращивании набора резервного копирования нужно монтировать последнюю ленту в серию. Если последняя лента не подключена, компонент Компонент Database Engine выполняет сканирование до конца подключенной ленты, а затем требует изменить ленту. В этот момент смонтируйте последнюю ленту.
Ленточные устройства резервного копирования используются аналогично дисковым, но со следующими исключениями.
Ленточное устройство должно быть физически подключено к компьютеру, на котором запущен экземпляр SQL Server. Резервное копирование на удаленный ленточный накопитель не поддерживается.
Если устройство резервного копирования ленты заполнено во время операции резервного копирования, но необходимо записать дополнительные данные, SQL Server запрашивает новую ленту и продолжит операцию резервного копирования после загрузки новой ленты.
Указание ленты для резервного копирования по ее физическому имени (Transact-SQL)
Базовый синтаксис инструкции BACKUP для указания ленты резервного копирования с помощью физического имени накопителя на магнитной ленте:
BACKUP { DATABASE | LOG } database_name
TO TAPE = { 'physical_backup_device_name'physical_backup_device_name_var | @ }
Пример:
BACKUP LOG AdventureWorks2012
TO TAPE = '\\.\tape0';
GO
Базовый синтаксис для указания физического ленточного устройства в инструкции RESTORE :
RESTORE { DATABASE | LOG } database_name
FROM TAPE = { 'physical_backup_device_name'physical_backup_device_name_var | @ }
Параметры BACKUP и RESTORE для ленточных устройств (Transact-SQL)
Чтобы упростить управление лентой, инструкция BACKUP предоставляет следующие параметры для ленточных устройств.
{ NOUNLOAD | UNLOAD }
Предоставляет управление автоматической выгрузкой ленты из накопителя на магнитной ленте после завершения операций резервного копирования или восстановления. Параметр UNLOAD/NOUNLOAD является настройкой сеанса, он сохраняется в течение работы сеанса или пока не будет сброшен при указании другого значения.
{ REWIND | NOREWIND }
Вы можете контролировать, остается ли SQL Server лента остается открытой после операции резервного копирования или восстановления или освобождает и перематывает ленту после заполнения. Поведение по умолчанию — перемотка ленты (REWIND).
Примечание
Дополнительные сведения о синтаксисе и аргументах BACKUP см. в разделе BACKUP (Transact-SQL). Дополнительные сведения о синтаксисе и аргументах RESTORE см. в разделах RESTORE (Transact-SQL) и RESTORE Arguments (Transact-SQL) соответственно.
Управление открытыми магнитными лентами
Для просмотра списка открытых ленточных устройств и состояния запросов на подключение запросите динамическое представление управления sys.dm_io_backup_tapes . Данное представление показывает все открытые ленты. Сюда относятся все используемые ленты, которые временно простаивают в ожидании следующей операции BACKUP или RESTORE.
Если лента была неумышленно оставлена открытой, то самый быстрый способ освободить ленту — использовать следующую команду: RESTORE REWINDONLY FROM TAPE =backup_device_name. Дополнительные сведения см. в разделе RESTORE REWINDONLY (Transact-SQL).
Использование службы Хранилище BLOB-объектов Azure
Резервные копии SQL Server могут быть записаны в службу хранилища BLOB-объектов Azure. Дополнительные сведения об использовании службы хранилища BLOB-объектов Azure для резервного копирования см. в статье SQL Server Резервное копирование и восстановление с помощью службы Хранилище BLOB-объектов Azure.
Использование логического устройства резервного копирования
Логическое устройство резервного копирования представляет собой необязательное, определяемое пользователем имя, которое указывает на конкретное физическое устройство резервного копирования (дисковый файл или ленточный накопитель). Логическое устройство резервного копирования позволяет использовать возможность косвенного обращения к соответствующему физическому устройству резервного копирования.
Определение логического устройства резервного копирования включает в себя назначение логического имени физическому устройству. Например, логическое устройство AdventureWorksBackups можно определить таким образом, чтобы оно указывало на файл Z:\SQLServerBackups\AdventureWorks2012.bak или ленточный накопитель \\.\tape0. Затем в командах резервного копирования и восстановления в качестве устройства резервного копирования можно указывать AdventureWorksBackups вместо DISK = "Z:\SQLServerBackups\AdventureWorks2012.bak" или TAPE = "\\.\tape0”.
Каждое имя логического устройства должно быть уникальным в пространстве имен всех логических устройств резервного копирования на экземпляре сервера. Чтобы просмотреть имена существующих логических устройств, запросите представление каталога sys.backup_devices . Это представление отображает имя каждого логического устройства резервного копирования и описывает тип и имя физического файла или путь к соответствующему физическому устройству резервного копирования.
После того как определено логическое устройство резервного копирования в инструкциях BACKUP или RESTORE, можно указывать логическое устройство резервного копирования вместо использования физического имени устройства. Например, следующая инструкция создает резервную копию базы данных AdventureWorks2012
в логическое устройство резервного копирования AdventureWorksBackups
.
BACKUP DATABASE AdventureWorks2012
TO AdventureWorksBackups;
GO
Примечание
В данных инструкциях BACKUP или RESTORE имя логического устройства резервного копирования и имя соответствующего физического устройства резервного копирования являются взаимозаменяемыми.
Одним из преимуществ использования логического устройства резервного копирования является удобство по сравнению с использованием длинного полного пути. Использование логического устройства резервного копирования может быть полезным, если планируется запись набора резервных копий по одному и тому же пути или на один накопитель на магнитной ленте. Логические устройства резервного копирования особенно полезны для указания ленточных устройств резервного копирования.
Для использования особого логического устройства можно написать скрипт резервного копирования. Это позволяет переключаться к новым физическим устройствам резервного копирования без обновления скрипта. Переключение включает следующий процесс.
Удаление исходного логического устройства резервного копирования.
Определение нового логического устройства резервного копирования, имя которого совпадает с именем исходного логического устройства, но которое сопоставлено с другим физическим устройством резервного копирования. Логические устройства резервного копирования особенно полезны для указания ленточных устройств резервного копирования.
Зеркальные наборы носителей резервных копий
Зеркальное отображение набора носителей резервных копий позволяет снизить воздействие сбоев в работе устройств резервного копирования на сохранность резервных копий. Эти сбои имеют особо серьезное значение, поскольку резервные копии являются последней линией обороны перед потерей данных. По мере роста баз данных в объеме увеличивается вероятность того, что сбой в работе устройства резервного копирования или носителя сделает резервную копию невосстановимой. Зеркальное отображение носителей резервных копий повышает надежность резервных копий за счет избыточности физических устройств резервного копирования. Дополнительные сведения см. в разделе Зеркальные резервные наборы носителей (SQL Server).
Примечание
Зеркальные наборы носителей резервных копий поддерживаются только в SQL Server 2005 выпуск Enterprise и более поздних версиях.
Архивация резервных копий SQL Server
Для архивации дисковых резервных копий рекомендуется пользоваться программой архивации файловой системы, а также хранить архивы вне вычислительной системы. Использование жесткого диска дает возможность использовать сеть для записи заархивированных резервных копий на диск, расположенный вне вычислительной системы. Хранилище BLOB-объектов Azure можно использовать в качестве средства архивирования. Можно передать дисковые резервные копии либо непосредственно записать копии в службу хранилища BLOB-объектов Azure.
Другой распространенный подход к архивации заключается в записи SQL Server резервных копий на локальный диск резервного копирования, их архивации на ленту и последующем хранении лент вне сайта.
Связанные задачи
Указание логического устройства резервного копирования (среда SQL Server Management Studio)
Указание ленточного устройства (среда SQL Server Management Studio)
Определение логического устройства резервного копирования
Определение логического устройства резервного копирования для дискового файла (SQL Server)
Определение логического устройства резервного копирования для ленточного накопителя (SQL Server)
BackupDevice (SMO)
Использование логического устройства резервного копирования
Просмотр сведений об устройствах резервного копирования
Просмотр свойств и содержимого логического устройства резервного копирования (SQL Server)
Просмотр содержимого ленты или файла резервной копии (SQL Server)
Удаление логического устройства резервного копирования
См. также:
SQL Server, объект устройства резервного копирования
BACKUP (Transact-SQL)
Планы обслуживания
Наборы носителей, семейства носителей и резервные наборы данных (SQL Server)
RESTORE (Transact-SQL)
RESTORE LABELONLY (Transact-SQL)
sys.backup_devices (Transact-SQL)
sys.dm_io_backup_tapes (Transact-SQL)
Зеркальные наборы носителей резервных копий (SQL Server)