如何以块的形式复制一个巨大的表

时间:2018-03-12 14:52:51

标签: sql sql-server sql-server-2005

我们有这个庞大的表65,000,000条记录。我们已经配置了合并复制,它适用于其他300个表(小于1M记录),但对于巨大的表,它不起作用。经过一段时间它会永远挂起,它会产生不同的(随机)错误。

我们知道我们有一个非常古老的sql版本(2005),并希望找到一种解决方法。

我为巨大的表设置了一个过滤器,因此它只复制比2017-01-01更新的行,在这种情况下它可以很好地工作。

但是,当我更改过滤器时,它现在从2016-01-01开始复制行(我们正在尝试以块的形式执行)它重新初始化整个发布,创建新快照然后再次挂起。 / p>

我们可能会使用其他一些解决方法来以块的形式复制数据吗?我们正在考虑复制庞大的表,删除早于2017-01-01的行,启动复制(没有过滤器),然后从2016-01-01到2016-01-31插入行,然后从2015年开始行,等等,直到整个表被复制,但它看起来有点可怕和乏味。

1 个答案:

答案 0 :(得分:0)

您是否考虑过通过SQL作业手动复制数据?或者,如果有很多更改,只需使用事务复制。我用大于此的表格完成了它。