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


Устройства резервного копирования (SQL Server)

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

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

Термины и определения

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

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

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

Резервные копии SQL Server также можно записать в Хранилище BLOB-объектов Azure помимо диска или ленты.

Использование дисковых устройств резервного копирования

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

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

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

Внимание

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

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

Указание файла резервной копии по его физическому имени (Transact-SQL)

Базовый синтаксис инструкции BACKUP для указания файла резервного копирования с помощью его физического имени:

BACKUP DATABASE database_name

TO DISK = { 'physical_backup_device_name' | @physical_backup_device_name_var }

Например:

BACKUP DATABASE AdventureWorks2022   
   TO DISK = 'Z:\SQLServerBackups\AdventureWorks2022.bak';  
GO  

Базовый синтаксис для указания физического жесткого диска в инструкции RESTORE :

RESTORE { DATABASE | LOG } database_name

FROM DISK = { 'physical_backup_device_name' | @physical_backup_device_name_var }

Например,

RESTORE DATABASE AdventureWorks2022   
   FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2022.bak';   

&Указание пути к файлу дисковой резервной копии

При указании файла резервного копирования следует ввести полный путь и имя файла. Если введено только имя файла или относительный путь для резервного копирования на диск, то файл резервной копии будет помещен в определенный по умолчанию каталог для резервных копий. Резервным каталогом по умолчанию является C:\Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\Backup, где n — номер экземпляра сервера. Поэтому для экземпляра сервера по умолчанию каталогом, использующимся по умолчанию для резервного копирования, является C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Backup.

Чтобы избежать неоднозначности, особенно в скриптах, рекомендуется явно указывать путь каталога резервного копирования в каждом предложении DISK. Однако это менее важно при использовании редактора запросов. В этом случае, если вы уверены, что файл резервного копирования находится в определенном по умолчанию каталоге для резервных копий, можно опустить путь в предложении DISK. В следующем примере с помощью инструкции BACKUP создается резервная копия базы данных AdventureWorks2022 в определенном по умолчанию каталоге резервных копий.

BACKUP DATABASE AdventureWorks2022   
   TO DISK = 'AdventureWorks2022.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 AdventureWorks2022   
   TO DISK = '\\BackupSystem\BackupDisk1\AW_backups\AdventureWorksData.Bak';  
GO  

Использование ленточных устройств

Примечание.

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

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

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

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

  • Ленточное устройство должно быть физически подключено к компьютеру, на котором выполняется экземпляр 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 AdventureWorks2022   
   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 Backup and Restore with Microsoft Хранилище BLOB-объектов Azure.

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

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

Определение логического устройства резервного копирования включает в себя назначение логического имени физическому устройству. Например, логические устройства AdventureWorksBackupsможно определить, чтобы указать на Z:\SQLServerBackups\AdventureWorks2022.bak файл или \\.\tape0 ленточный диск. Команды резервного копирования и восстановления затем могут указывать AdventureWorksBackups в качестве устройства резервного копирования, а не DISK = 'Z:\SQLServerBackups\AdventureWorks2022.bak' TAPE = '\\.\tape0'.

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

После того как определено логическое устройство резервного копирования в инструкциях BACKUP или RESTORE, можно указывать логическое устройство резервного копирования вместо использования физического имени устройства. Например, следующая инструкция создает резервную копию базы данных AdventureWorks2022 в логическое устройство резервного копирования AdventureWorksBackups .

BACKUP DATABASE AdventureWorks2022   
   TO AdventureWorksBackups;  
GO  

Примечание.

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

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

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

  1. Удаление исходного логического устройства резервного копирования.

  2. Определение нового логического устройства резервного копирования, имя которого совпадает с именем исходного логического устройства, но которое сопоставлено с другим физическим устройством резервного копирования. Логические устройства резервного копирования особенно полезны для указания ленточных устройств резервного копирования.

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

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

Примечание.

Зеркальные наборы носителей резервного копирования поддерживаются только в выпуске SQL Server 2005 Enterprise и более поздних версиях.

Архивация резервных копий SQL Server

Для архивации дисковых резервных копий рекомендуется пользоваться программой архивации файловой системы, а также хранить архивы вне вычислительной системы. Использование жесткого диска дает возможность использовать сеть для записи заархивированных резервных копий на диск, расположенный вне вычислительной системы. Хранилище BLOB-объектов Azure можно использовать в качестве параметра архивации вне сайта. Вы можете отправить резервные копии дисков или напрямую записать резервные копии в Хранилище BLOB-объектов Azure.

Другой распространенный подход к архивации — запись резервных копий SQL Server на локальный диск резервного копирования, архивирование их на ленту, а затем хранение лент вне сайта.

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

Указание логического устройства резервного копирования (среда SQL Server Management Studio)

Указание ленточного устройства (среда SQL Server Management Studio)

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

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

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

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

См. также

SQL Server, объект Backup Device
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)