手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网络编程>Mssql>列表

SQL Server扩展存储过程实现远程备份和恢复

来源:互联网 作者:west263.com 时间:2008-04-02
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

  实例说明:

  环境: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都喜欢将其删除或禁用,所以研发人员使用时要倍加小心哦。


文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!