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),没有默认值,可以是以下值之一。
值 | 说明 |
---|---|
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