SQLSERVER中的逻辑设备和物理设备

SQLSERVER中的逻辑设备和物理设备

这里说一下我的理解:

实际上逻辑设备就是代替物理路径的一个别名

比如“Sales_Fullbak” 就是一个逻辑设备,或者叫逻辑设备名

"D:\Backups\Sales\Full_20060601.bak"就是一个物理设备,或者叫物理设备名字,或者叫物理路径

-----------------------------------------------------------华丽的分割线--------------------------------------------------

为什麽有逻辑设备,因为在使用restore或者backup语句的时候,通常我们都要加“tape=”或“disk=”子句指定设备名称(物理路径)

但是有了逻辑设备之后就不要那么麻烦了,直接指定逻辑设备就可以了

添加逻辑设备的示例,使用sp_addumpdevice 存储过程

 1 --创建一个名为Sales_Fullbak的磁盘备份设备,其物理名称为D:\Backups\Sales\Full_20060601.bak
 2 EXEC [sys].[sp_addumpdevice] @devtype = 'disk', -- varchar(20)
 3     @logicalname = 'Sales_Fullbak', -- sysname

 4     @physicalname = N'D:\Backups\Sales\Full_20060601.bak', -- nvarchar(260)
 5     @cntrltype = 0, -- smallint
 6     @devstatus = '' -- varchar(40)
 7     
 8 --创建一个远程磁盘备份设备
 9 EXEC [sys].[sp_addumpdevice] @devtype = 'disk', -- varchar(20)
10     @logicalname = 'networkdevice', -- sysname
11     @physicalname = N'\servername\sharename\path\filename.bak', -- nvarchar(260)
12     @cntrltype = 0, -- smallint
13     @devstatus = '' -- varchar(40)

添加完毕之后会在[sysdevices]视图中看到添加的逻辑设备和对应的物理设备

---------------------------------------------华丽的分割线----------------------------------------------------------------------

添加完毕之后便可以在backup和restore语句中逻辑引用该设备

[sp_addumpdevice]不执行对物理设备的任何访问。只有在执行backup和restore语句后,才会访问指定的设备。

创建一个逻辑备份设备可简化backup和restore语句

例如:

1 --在D盘建立好这些文件夹就可以了 D:\Backups\Sales
2 BACKUP DATABASE [GPOSDB] TO Sales_Fullbak

posted @ 2013-05-14 21:38  桦仔  阅读(1814)  评论(0编辑  收藏  举报