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),沒有預設值,而且可以是下列其中一個值。

Description
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 目錄檢視。 接著,裝置可以在和 RESTORE 語句中BACKUP以邏輯方式參考。 sp_addumpdevice 不會對實體裝置執行任何存取。 只有在執行 或 RESTORE 語句時BACKUP,才會存取指定的裝置。 建立邏輯備份裝置可以簡化 BACKUPRESTORE 語句,其中指定裝置名稱是使用 TAPE =DISK = 子句指定裝置路徑的替代方式。

擁有權和許可權問題可能會干擾磁碟或文件備份裝置的使用。 請確定已啟動 資料庫引擎 的 Windows 帳戶具有適當的檔案許可權。

資料庫引擎 支援將磁帶備份至 Windows 支援的磁帶裝置。 如需 Windows 支援磁帶裝置的詳細資訊,請參閱 Windows 的硬體相容性清單。 若要檢視計算機上可用的磁帶裝置,請使用 SQL Server Management Studio。

只針對磁碟驅動器製造商建議的特定磁帶機使用建議的磁帶。 如果您使用數位音訊磁帶(DAT)磁碟驅動器,請使用計算機級 DAT 磁帶(數字數據 儲存體 (DDS))。

sp_addumpdevice 無法在交易內執行。

若要刪除裝置,請使用sp_dropdevice或刪除備份裝置(SQL Server)。

權限

需要 diskadmin 固定伺服器角色的成員資格。

需要寫入磁碟的權限。

範例

A. 新增磁碟傾印裝置

下列範例會新增名為 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';

C. 新增磁帶備份裝置

下列範例會 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