首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

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

2012-09-03 
數據表複製的問題現在有一張千萬條記錄的數據表要天天更新,用了先truncate再ssis的方法;為了防止truncate

數據表複製的問題
現在有一張千萬條記錄的數據表要天天更新,用了先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……

热点排行