sp_addumpdevice (Transact-SQL)

Применимо к: даSQL Server (все поддерживаемые версии)

Применимо к: SQL Server (с SQL Server 2008 до текущей версии).

Добавляет в экземпляр компонента SQL Server устройство резервного копирования.

Значок ссылки на раздел Синтаксические обозначения в Transact-SQL

Синтаксис

  
sp_addumpdevice [ @devtype = ] 'device_type'   
    , [ @logicalname = ] 'logical_name'   
    , [ @physicalname = ] 'physical_name'  
      [ , { [ @cntrltype = ] controller_type |  
          [ @devstatus = ] 'device_status' }  
      ]  

Аргументы

[ @devtype = ] 'device_type' — Это тип устройства резервного копирования. device_type имеет тип varchar (20), не имеет значения по умолчанию и может принимать одно из следующих значений.

Значение Описание
свободного Файл на жестком диске в качестве устройства резервного копирования.
аудиокассет Любое ленточное устройство, поддерживаемое Microsoft Windows.

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

[ @logicalname = ] 'logical_name' Логическое имя устройства резервного копирования, используемое в инструкциях BACKUP и RESTORE. Аргумент logical_name имеет тип sysname, не имеет значения по умолчанию и не может иметь значение null.

[ @physicalname = ] 'physical_name' Физическое имя устройства резервного копирования. Физические имена должны соответствовать правилам для имен файлов операционной системы или формату UNC для сетевых устройств и должны содержать полный путь. physical_name имеет тип nvarchar (260), не имеет значения по умолчанию и не может иметь значение null.

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

При добавлении ленточного устройства этот параметр должен быть физическим именем, назначенным локальному ленточному устройству системой Windows. Например, \ \ .\TAPE0 для первого ленточного устройства на компьютере. Ленточное устройство должно быть подключено к серверному компьютеру и его нельзя использовать удаленно. Имена команд, содержащие символы, отличные от алфавитно-цифровых, следует заключать в кавычки.

Примечание

Эта процедура вносит указанное физическое имя в каталог. Она не пытается создать это устройство или произвести доступ к нему.

[ @cntrltype = ] 'controller_type' Устаревшие. Если указан — не обрабатывается. Поддерживается исключительно в целях обратной совместимости. Новые варианты использования sp_addumpdevice должны опускать этот параметр.

[ @devstatus = ] 'device_status' Устаревшие. Если указан — не обрабатывается. Поддерживается исключительно в целях обратной совместимости. Новые варианты использования sp_addumpdevice должны опускать этот параметр.

Значения кода возврата

0 (успешное завершение) или 1 (неуспешное завершение)

Результирующие наборы

None

Remarks

sp_addumpdevice добавляет устройство резервного копирования в представление каталога sys.backup_devices . После этого устройство можно указывать в инструкциях BACKUP и RESTORE по логическому имени. sp_addumpdevice не выполняет никакого доступа к физическому устройству. Обращение к нему производится только при выполнении инструкций BACKUP и RESTORE. Создание логического устройства резервного копирования упрощает инструкции BACKUP и RESTORE, позволяя вместо пути устройства в предложениях TAPE = и DISK = указывать имена устройств.

При использовании дисковых и файловых устройств резервного копирования проблемы владения и разрешений могут накладываться. Проверьте, даны ли необходимые разрешения на соответствующие файлы учетной записи Windows, от имени которой запущен компонент Компонент Database Engine.

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

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

sp_addumpdevice не может выполняться внутри транзакции.

Чтобы удалить устройство, используйте sp_dropdevice илиSQL Server Management Studio.

Разрешения

Требует членства в предопределенной роли сервера diskadmin .

Необходимо разрешение на запись на жесткий диск.

Примеры

A. Добавление дискового устройства хранения

В следующем примере добавляется дисковое устройство резервного копирования с именем mydiskdump, которое имеет физическое имя c:\dump\dump1.bak.

USE master;  
GO  
EXEC sp_addumpdevice 'disk', 'mydiskdump', 'c:\dump\dump1.bak';  

Б. Добавление сетевого дискового устройства резервного копирования

Следующий пример иллюстрирует добавление удаленного дискового устройства резервного копирования с именем networkdevice. Имя, от которого запущен компонент Компонент Database Engine, должно иметь разрешения на удаленный файл (\\<servername>\<sharename>\<path>\<filename>.bak).

USE master;  
GO  
EXEC sp_addumpdevice 'disk', 'networkdevice',  
    '\\<servername>\<sharename>\<path>\<filename>.bak';  

В. Добавление ленточного устройства резервного копирования

В следующем примере добавляется устройство tapedump1 с физическим именем \\.\tape0.

USE master;  
GO  
EXEC sp_addumpdevice 'tape', 'tapedump1', '\\.\tape0';  

Г. Резервное копирование на логическое устройство резервного копирования

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

USE master;  
GO  
EXEC sp_addumpdevice 'disk', 'AdvWorksData',   
'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\BACKUP\AdvWorksData.bak';  
GO  
BACKUP DATABASE AdventureWorks2012   
 TO AdvWorksData  
   WITH FORMAT;  
GO  

См. также:

Устройства резервного копирования (SQL Server)
BACKUP (Transact-SQL)
Определение логического устройства резервного копирования для дискового файла (SQL Server)
Определение логического устройства резервного копирования для ленточного накопителя (SQL Server)
RESTORE (Transact-SQL)
sp_dropdevice (Transact-SQL)
sys.backup_devices (Transact-SQL)
Системные хранимые процедуры (Transact-SQL)