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
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析