sp_addumpdevice (Transact-SQL)
將備份裝置加入至 Microsoft SQL Server 2005 Database Engine 的執行個體。
語法
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'
這是備份裝置的實體名稱。實體名稱必須遵照作業系統檔案名稱或網路裝置通用命名慣例的規則,且必須包括完整路徑。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 =" 子句指定裝置路徑的替代方法。
擁有權和權限問題可能會干擾磁碟或檔案備份裝置的使用。請確定用來啟動 Database Engine 的 Windows 帳戶已取得適當的檔案權限。
Database Engine 支援利用 Windows 支援的磁帶裝置來進行磁帶備份。如需有關 Windows 所支援之磁帶裝置的詳細資訊,請參閱 Windows 的硬體相容性清單。若要檢視電腦中所能使用的磁帶裝置,請使用 SQL Server Management Studio。
請只用磁帶機製造商所建議的特定磁帶機專用磁帶。如果您使用數位錄音機 (DAT),請使用電腦等級的 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';
B. 加入網路磁碟備份裝置
下列範例會顯示如何加入稱為 networkdevice 的遠端磁碟備份裝置。用來啟動 Database Engine 的名稱必須有該遠端檔案 (\\<servername>\<sharename>\<path>\<filename>.bak) 的權限。
USE master;
GO
EXEC sp_addumpdevice 'disk', 'networkdevice',
'\\<servername>\<sharename>\<path>\<filename>.bak';
C. 加入磁帶備份裝置
下列範例會加入實體名稱為 \\.\tape0 的 tapedump1 裝置。
USE master;
GO
EXEC sp_addumpdevice 'tape', 'tapedump1', '\\.\tape0';
D. 備份至邏輯備份裝置
下列範例會針對備份磁碟檔案建立邏輯備份裝置,即 AdvWorksData。接著,這個範例會將 AdventureWorks2008R2 資料庫備份至這個邏輯備份裝置。
USE master
GO
EXEC sp_addumpdevice 'disk', 'AdvWorksData',
'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\BACKUP\AdvWorksData.bak';
GO
BACKUP DATABASE AdventureWorks2008R2
TO AdvWorksData
WITH FORMAT;
GO