如果是 .bak 那必须限制 web 和 数据库在同台站点,如果 web 和数据库不在同台服务器那就不行了,所以求如题的方法.谢谢大家,提供点思路也行

解决方案 »

  1.   

    超简单.如果程序跟数据库不在一个服务器,可以远程执行存储过程进行备份啊.备份的sql代码就一行而已,搜索一下就知道了.
      

  2.   

    你所说的这个存储过程是什么,备份后的内容是什么,你说的不是把 backup datebase to disk 这样的写到存储过程里去吧,这个只能备份 .bak 而且只能备份到 数据库那台服务器,不是吗.我要求备份到网站当前目录,并且是 .sql
      

  3.   

    补充下,
    不能用"映射网络路径对应web 服务器盘符"这样的方法我希望此方法能对通用用户使用,而不是需要到服务器上去做操作
      

  4.   

    to:shily_fly  你说的是手动吗.手动备份脚本,然后用程序去执行脚本这个肯定没问题,问题是我想通过程序获得这个脚本到web当然针对站点 表,存储过程,视图等,可以获取出来在整理,但是和 vs 发布数据库出来的内容差的很远,很多内容不齐全如果要去对比分析来整理出一样的.sql 这个工作量比较大我希望有什么现有的方法能实现这样一个异地的备份恢复, 要适合普通网站用户针对 mssql 用户的
      

  5.   

    楼上有人说用"利用SQLDMO"这个从某种意义上是实现了备份与恢复,但备份的内容是在 sql 服务器上,感觉不是太好,最好能备份到 web 站点里,这样用户也能下载到
      

  6.   

    大家不好意思我想了下,其实就算是生成了脚本,恢复的时候会很成问题,因为脚本一般是删除原有数据库的内容,然后在创建
    数据库框架,然后在插入数据,这样一般站点都会超时,行不通,这个对网络要求比较搞,也比较耗时间.利用SQLDMO 方法是不错,但是如果数据库服务器上处于安全考虑把这个组件干掉了,那也不行,呵呵不知道有什么好方法
      

  7.   

    感觉想来想去都不太好,这里先做个个人想法的小总结对于通用用户如果 web 和 sql 不在同台服务器上,没有适合的方法实现
      1、用脚本时间太长,也要写专门的程序来获得脚本和整理脚本,恢复时用的时间就更长,不可取
      2、用com 组件 SQLDMO ,备份和还原都是 mssql 来完成速度比较快,但是备份的文件在 sql 服务器上,而且可能服务器上没 有这个组件,不可取
      3、用 backup database 语句 备份文件也在服务端不可取.那备份还原数据库最好是针对 sql 与 web 在同台服务器上的站点,用 backup database 语句 来操作=========
    我知识有限,大概想到就这些,不知道个仁兄后什么好方法