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


sp_addumpdevice (Transact-SQL)

Добавляет в экземпляр компонента 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), не имеет значения по умолчанию и может принимать одно из следующих значений.

    Значение

    Описание

    disk

    Файл на жестком диске в качестве устройства резервного копирования.

    tape

    Любое ленточное устройство, поддерживаемое 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 (неуспешное завершение)

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

Нет

Замечания

Процедура 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.

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

Примеры

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

В следующем примере добавляется дисковое устройство резервного копирования с именем 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\MSSQL11.MSSQLSERVER\MSSQL\BACKUP\AdvWorksData.bak';
GO
BACKUP DATABASE AdventureWorks2012 
 TO AdvWorksData
   WITH FORMAT;
GO

См. также

Справочник

BACKUP (Transact-SQL)

RESTORE (Transact-SQL)

sp_dropdevice (Transact-SQL)

sys.backup_devices (Transact-SQL)

Системные хранимые процедуры (Transact-SQL)

Основные понятия

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

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

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