top

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 @   桦仔  阅读(1826)  评论(0编辑  收藏  举报
编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
点击右上角即可分享
微信分享提示