sp_addumpdevice (Transact-SQL)
将备份设备添加到 Microsoft SQL Server 2005 数据库引擎的实例中。
语法
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 支持的任何磁带设备。
- [ @logicalname = ] 'logical_name'
在 BACKUP 和 RESTORE 语句中使用的备份设备的逻辑名称。logical_name 的数据类型为 sysname,无默认值,且不能为 NULL。
[ @physicalname = ] 'physical_name'
备份设备的物理名称。物理名称必须遵从操作系统文件名规则或网络设备的通用命名约定,并且必须包含完整路径。physical_name 的数据类型为 nvarchar(260),无默认值,且不能为 NULL。在远程网络位置上创建备份设备时,请确保启动数据库引擎时所用的名称对远程计算机有相应的写权限。
如果要添加磁带设备,则该参数必须是 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 帐户。
数据库引擎支持将磁带备份到 Windows 支持的磁带设备上。有关 Windows 支持的磁带设备的详细信息,请参阅 Windows 的硬件兼容性列表。若要查看计算机上可用的磁带设备,请使用 SQL Server Management Studio。
对于特定的磁带机,请仅使用驱动器厂商建议的推荐磁带。如果您使用的是数字音频磁带 (DAT) 驱动器,请使用计算机级的 DAT 磁带(数字数据存储(DDS))。
不能在事务内执行 sp_addumpdevice。
权限
要求具有 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. 添加磁带备份设备
下面的示例添加物理名称为 \\.\tape0
的 tapedump1
设备。
USE master;
GO
EXEC sp_addumpdevice 'tape', 'tapedump1', '\\.\tape0';
D. 备份到逻辑备份设备
以下示例为某备份磁盘文件创建了名为 AdvWorksData
的逻辑备份设备。该示例随后会将 AdventureWorks
数据库备份到此逻辑备份设备。
USE master
GO
EXEC sp_addumpdevice 'disk', 'AdvWorksData',
'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\BACKUP\AdvWorksData.bak';
GO
BACKUP DATABASE AdventureWorks
TO AdvWorksData
WITH FORMAT;
GO
请参阅
参考
BACKUP (Transact-SQL)
RESTORE (Transact-SQL)
sp_dropdevice (Transact-SQL)
sys.backup_devices (Transact-SQL)
系统存储过程 (Transact-SQL)
其他资源
备份设备
如何为磁盘文件定义逻辑备份设备 (SQL Server Management Studio)
如何为磁带机定义逻辑备份设备 (SQL Server Management Studio)