当前位置: 首页 > 图文教程 > 数据库 > MSSQL > SQL Server扩展存储过程实现远程备份与恢复

MSSQL
SQL Server导出表到EXCEL文件的存储过程
如何利用触发器实现两个数据库间的同步
SQL Server数据库连接查询的种类及其应用
SQL Server 2005中利用xml拆分字符串序列
Microsoft SQL Server数据库SA权限总结
用SQL语句生成带有小计合计的数据集脚本
深入剖析SQL Server的六种数据移动方法
为导入文件加上时间戳标记的两种方法
SQL Server与Oracle、DB2的优劣对比
带你深入了解SQL Server 2008的独到之处
通过视图修改数据时所应掌握的基本准则
SQL Server中如何优化磁带备份设备性能
教你轻松解决几种常见的SQL疑难问题
怎样取得局域网中所有SQL Server的实例
在系统崩溃的时候如何恢复原有的数据
获得当前数据库对象依赖关系的实用算法
SQL Server如何才能访问Sybase中的表
如何才能保护好我们的SQL Server数据库
从两个方面讲解SQL Server口令的脆弱性
SQL Server数据库日志清除的两个方法

MSSQL 中的 SQL Server扩展存储过程实现远程备份与恢复


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-30   浏览: 140 ::
收藏到网摘: n/a

  【 服务器学院】实例说明:
  
  
环境:win2k+sqlserver 2K+查询分析器
  SQLSERVER服务实例名称:mainserver
  需要备份的数据库名称: msdb
  本地机器名称(Client端):david
  本地用户:zf 密码:123
  本地域名:domain
  本地提供备份需求的文件夹:e:\test
  
  第一步: 建立共享文件夹
  
  在程序代码中调用(或者CMD窗口) net share test=e:\test
  或者用NetShareAdd这个API
  简要说明:
  net share   : 是WINDOWS内部的网络命令。
  作用:建立本地的共享资源,显示当前计算机的共享资源信息。
  语法:参见 net share /?
  
  第二步: 建立共享信用关系
  
  master..xp_cmdshell 'net use \\david\test 123 /user:domain\zf'
  简要说明:
  1:xp_cmdshell :是SQLSERVER的扩展存储过程。
  作用,以操作系统命令行解释器的方式执行给定的命令字符串,
  并以文本行方式返回任何输出。
  语法:参见SQLSERVER联机帮助
  2:net use   : 是WINDOWS内部的网络命令。
  作用,将计算机与共享资源连接或断开,或者显示关于计算机
  连接的信息。该命令还控制持久网络连接。
  语法:参见 net use /?
  
  第三步:备份数据库
  
  backup database msdb to disk='\\david\test\msdb.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:\test\msdb.bak文件了,使用起来很简单吧?恢复数据库操作也是一样,只要将第三个步骤的语句改为'restore database msdb from disk='\\david\test\msdb.bak'就可以啦。。你看完了也可以试试呀?!(最简单的测试工具查询分析器+CMD窗口)
  
  备注:xp_cmdshell 这个扩展存储过程只能SA级别的用户调用,而且是SQLSERVER的安全隐患之一,许多DBA都喜欢将其删除或者禁用,所以开发人员使用时要倍加小心哦。