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


sp_addumpdevice (Transact-SQL)

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

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

Соглашения о синтаксисе Transact-SQL

Синтаксис

sp_addumpdevice
    [ @devtype = ] 'devtype'
    , [ @logicalname = ] N'logicalname'
    , [ @physicalname = ] N'physicalname'
    [ , [ @cntrltype = ] cntrltype ]
    [ , [ @devstatus = ] 'devstatus' ]
[ ; ]

Аргументы

[ @devtype = ] 'devtype'

Тип устройства резервного копирования. @devtype — varchar(20), без значения по умолчанию и может быть одним из следующих значений.

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

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

[ @logicalname = ] N'logicalname'

Логическое имя устройства резервного копирования, используемого в инструкциях BACKUP и RESTORE. @logicalname — sysname, без значения по умолчанию и не может бытьNULL.

[ @physicalname = ] N'physicalname'

Физическое имя устройства резервного копирования. @physicalname является nvarchar(260), без значения по умолчанию и не может бытьNULL. Физические имена должны соответствовать правилам имен файлов операционной системы или соглашениям об универсальном именовании для сетевых устройств и включать полный путь.

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

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

Примечание.

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

[ @cntrltype = ] cntrltype

Является устаревшей. Если указан — не обрабатывается. Поддерживается для обратной совместимости. Новые варианты sp_addumpdevice использования должны опустить этот параметр.

[ @devstatus = ] 'devstatus'

Является устаревшей. Если указан — не обрабатывается. Поддерживается для обратной совместимости. Новые варианты sp_addumpdevice использования должны опустить этот параметр.

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

0 (успешно) или 1 (сбой).

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

Нет.

Замечания

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

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

Ядро СУБД поддерживает резервное копирование лент на ленточных устройствах, поддерживаемых Windows. Дополнительные сведения о ленточных устройствах, поддерживаемых Windows, см. в списке оборудования, совместимого с Windows. Чтобы просмотреть ленточные устройства, доступные на компьютере, используйте СРЕДУ SQL Server Management Studio.

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

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

Чтобы удалить устройство, используйте sp_dropdevice или удалите устройство резервного копирования (SQL Server).

Разрешения

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

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

Примеры

А. Добавление устройства дампа диска

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

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

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

Следующий пример иллюстрирует добавление удаленного дискового устройства резервного копирования с именем networkdevice. Имя, в котором запущена ядро СУБД, должно иметь разрешения на этот удаленный файл (\\<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';

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

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

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