当前位置: 代码迷 >> Sql Server >> 數據表複製的問題,该如何解决
  详细解决方案

數據表複製的問題,该如何解决

热度:54   发布时间:2016-04-27 11:21:08.0
數據表複製的問題
現在有一張千萬條記錄的數據表要天天更新,用了先truncate再ssis的方法;為了防止truncate后SSIS執行失敗,要在目標server上複製一個與目標server一樣的數據表做備用,我用的是select into語句複製了這個表,如果ssis失敗的話就吧這個在select into 回去,不至於表中沒有數據;請教各位大神有沒有更好的方案?
還想問的是 同一數據庫中有沒有其他更好的複製方法能夠把表的所有屬性(索引,用戶等)全部複製過去

------解决方案--------------------
建议这样做
 数据库中有两个表, 一个是正式用的, 比如叫 tb_used, 另一个是你每天更新用的, 比如叫 tb_update
两个表结构一样
你的 ssis 更新在 tb)update 是进行(也就是不直接更新使用的那个表)
这样, ssis 失败的话, 自然不影响正常使用
如果更新成功的话, 那么使用事务做如下操作(有事务的保证, 失败会恢复原状)
SQL code
begin trantruncate tb_usedalter table tb_update switch to tb_used  -- switch 数据, 这个是非常快的commit
------解决方案--------------------
探讨
建议这样做
数据库中有两个表, 一个是正式用的, 比如叫 tb_used, 另一个是你每天更新用的, 比如叫 tb_update
两个表结构一样
你的 ssis 更新在 tb)update 是进行(也就是不直接更新使用的那个表)
这样, ssis 失败的话, 自然不影响正常使用
如果更新成功的话, 那么使用事务做如下操作(有事务的保证, 失败会恢复原状)

SQL code
be……
  相关解决方案