SQL Server扩展存储过程实现远程备份和恢复
2008-04-02 11:00:31来源:互联网 阅读 ()
实例说明:
环境:win2k sqlserver 2K 查询分析器
SQL SERVER服务实例名称:mainserver
需要备份的数据库名称: msdb
本地机器名称(Client端):david
本地用户:zf 密码:123
本地域名:domain
本地提供备份需求的文档夹:e: est
第一步: 建立共享文档夹
在程式代码中调用(或CMD窗口) net share test=e: est
或用NetShareAdd这个API
简要说明:
net share : 是WINDOWS内部的网络命令。
作用:建立本地的共享资源,显示当前电脑的共享资源信息。
语法:参见 net share /?
第二步: 建立共享信用关系
master..xp_cmdshell 'net use \david est 123 /user:domainzf'
简要说明:
1:xp_cmdshell :是SQLSERVER的扩展存储过程。
作用,以操作系统命令行解释器的方式执行给定的命令字符串,
并以文本行方式返回任何输出。
语法:参见SQLSERVER联机帮助
2:net use : 是WINDOWS内部的网络命令。
作用,将电脑和共享资源连接或断开,或显示关于电脑
连接的信息。该命令还控制持久网络连接。
语法:参见 net use /?
第三步:备份数据库
backup database msdb to disk='\david estmsdb.bak'
这个无需说明吧,语法参见SQLSERVER联机帮助
第四步: 删除共享文档夹
在程式代码中调用(或CMD窗口) net share test /delete
或用NetShareDel这个API
结果:
已处理 1376 页,这些页属于数据库 'msdb' 的文档 'MSDBData'(位于文档 1 上)。
已处理 1 页,这些页属于数据库 'msdb' 的文档 'MSDBLog'(位于文档 1 上)。
BACKUP DATABASE 操作成功地处理了 1377 页,花费了 3.653 秒(3.086 MB/秒)。
这样mainserver服务器上的msdb就备份到了david机器的E: estmsdb.bak文档了,使用起来很简单吧?恢复数据库操作也是相同,只要将第三个步骤的语句改为'restore database msdb from disk='\david estmsdb.bak'就能够啦。。您看完了也能够试试呀?!(最简单的测试工具查询分析器 CMD窗口)
备注:xp_cmdshell 这个扩展存储过程只能SA级别的用户调用,而且是SQL Server的安全隐患之一,许多DBA都喜欢将其删除或禁用,所以研发人员使用时要倍加小心哦。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇: 理解odbc和ole
下一篇: SQL安全注意事项列表
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash