SQL SERVER备份和恢复实战

SQL SERVER备份和恢复实战

由于手中有个项目马上完工了,开始做数据库的备份与恢复此类工作,查了下,大体有几种实现方式,我的目标是在服务器上备份便可,于是找了几种方法实现了下,大致分为:

1:通过SQL进行备份

此时的SQL又分为存储过程,以及远端调用

 

存储过程参考如下文章,已经是比较全面的了,除了有个限制,想要在MASTER下,建立各种函数外,其它的比较简单

http://blog.csdn.net/zjcxc/archive/2003/12/29/20074.aspx

 

2:远端执行SQL进行备份的,其实和备份数据文件到异地 是一样的几步,只不过备份的时候,远端共享文件夹改成本地的而已

远端的有4步:

1)开启远端共享文件夹

     net share ShareForder=c:/AppDataBackup

2)SQL 执行SQL SERVER的扩展过程,访问远端共享文件夹,建立共享信用关系

      master..xp_cmdshell 'net use //10.10.50.212/ShareForder UserPassword /user:DomainName/UserName'

3)备份数据库文件到远端共享文件夹

      backup database PNC1 to disk='//10.10.50.212/ShareForder/Database.bak'

4)关闭和删除共享文件夹

     net share ShareForder /delete

 

具体实现参考

http://www.cnblogs.com/oletan/archive/2009/01/06/1370175.html

 

这里的实现我也测试过,不知道为什么就是无法访问共享文件夹,可能是公司域或者防火墙造成的吧,而我的需求是备份到服务器本地,于是将共享文件夹改成本地的,就实现了。

 

3:通过SQLDMO实现

     首先要引用SQLDMO的DLL,动态链接库,然后使用他来备份远端数据库,备份文件位于服务器上

      开发这个实现的时候遇到个问题就是,由于我的备份文件还比较小,备份的进度条没有任何提示,怀疑是程序出了问题,后来查了下,才知道大家都有遇到过类似问题,需要文件大于多少的,以及机器性能差的时候进度条才会显示,看来机器性能好在微软的眼中未必是好事情。微软看来还是喜欢586之类的性能。

      后面又找了个能够显示进度条的其它方式实现了,实现了备份和恢复。在实现恢复的时候会先杀掉连接到服务器上的所有其它进程,应用程序备份完之后再次连接会抛出一个错误,需要重新与服务器建立连接便可。这是想要注意的地方,其它的比较简单。

     

      附件里的是我做测试的各种例子,以及用SQL实现各种数据库操作的一个案例,都集中的放在一起了,还有就是加解密连接字符串的示例,免得大家去找例子了,至于文章GOOGLE下就大把的出来了。

 

下载地址:http://download.csdn.net/source/3112211

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值