浪费时间的,这种形式的表差异备份,不如直接把TA复制成TB,设置一个数据库作业,用JOB,具体搜索一下以前的贴子

解决方案 »

  1.   

    不仅仅是为了备份,关键是如果B中的记录太多,会影响速度。
    所以只想在B中保留最新的三个月的数据,其他数据则保留在A中,以防万一
      

  2.   

    create procedure sp_backupdata
    as--把B-A的数据插入A
    insert A
    select * from B  
    where not exists( select 1 from A where B.col1=A.col1 and B.col2=A.col2...)update A
    set col1=B.col1,col2=B.col2...
    from B
    where A.id=B.id
    --删除三个月前的数据是表B中的么
    delete B
    where datediff(month,日期字段,getdate())<=3
      

  3.   

    表A中没有表B中的数据啊,不存在差异备份的问题。只需要将表B中不要的数据转到表A就就行了,再删除表A中不要的数据。