服务器配置:
操作系统:Windows server 2008
数据库:sql server 2008
数据量:一年的数据量大概50G左右
硬盘容量:500G
客户端:
操作系统:Win7
数据库:sql server 2008
问题是这样的:客户端同步服务器端数据,采用sql server 2008的发布和订阅功能,已经实现。但是如果服务器数据删除了,客户端数据也删除了,怎么才能把服务器端数据完整的备份至客户端(不能备份至服务器,因为服务器容量有限)。本人想了个解决方案是这样的:在客户端再创建一个备份数据库,然后把客户端同步的数据通过触发器的方式导入至备份数据库,不知道可行不?是否还有更好的解决方案?非常感谢!sql server 2008数据库备份

解决方案 »

  1.   

    或者你定期做完整备份然后用其他技术比如CMD/FTP等传到客户端保存
      

  2.   

    还有一点忘说了,我所有的查询操作都在客户端进行,也就是说不能备份成bak文件
      

  3.   

    2008用分区来归档历史数据,http://blog.csdn.net/dba_huangzj/article/details/11143305我最近整理的文章。因为你的操作在客户端,那么更加不应该把历史数据放到客户端,更别说备份了,非活动数据可以单独生成对应的表、库出来,然后每年备份一次
      

  4.   

    但是如果服务器数据删除了,客户端数据也删除了,
    -->
    LZ的意思是,只想同步新增和修改的操作,删除的操作不同步吗?还是什么?
      

  5.   

    你的想法是建立触发器,比如在客户端的数据库的很多表建立触发器,当客户端的数据有insert或update的时候触发,但当是delete的时候不触发。也就说,给需要做完整备份的哪些表,都做insert、update触发器是吧。这样是可以的。
      

  6.   

    2008有个新功能CDC,可以记录数据的变更情况,我的文章有实例:
    http://blog.csdn.net/dba_huangzj/article/details/8130448
      

  7.   

    确实可以尝试一下CDC 变更数据捕获
    http://blog.csdn.net/yupeigu/article/details/7698626或者用数据库复制,只复制insert,update操作,不复制删除操作。