sp_addumpdevice (Transact-SQL)
適用於:SQL Server
將備份裝置新增至 SQL Server 的實例。
語法
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
,才會存取指定的裝置。 建立邏輯備份裝置可以簡化 BACKUP
和 RESTORE
語句,其中指定裝置名稱是使用 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