我们需要对一个拥有超过 4 亿条记录的表从源 MySQL (5.5) 进行初始数据复制到目标 SQL Server (2014)。该表相当宽,有 55 列,但没有一个是 LOB。我正在寻找以最有效的方式复制这些数据的选项。
我们尝试通过 Attunity Replicate 进行加载(对于不太大的表来说效果非常好),但是如果 Attunity Replicate 的初始数据复制失败,那么它会从头开始......丢失复制数据所花费的所有时间。通过修补以及该表可能需要 3 个多月的时间来加载 Attunity 并不是解决方案。
我们还尝试使用链接服务器进行较小的批量加载。这是可行的,但似乎根本没有效率。
复制数据后,我们将使用 Attunity Replicate 来处理 CDC。
对于这样的事情,我认为 SSIS 是最简单的。它专为高达 1TB 的大型插入而设计。事实上,我推荐这篇 MSDN 文章我们在 30 分钟内加载了 1TB,您也可以吗 https://learn.microsoft.com/en-us/previous-versions/sql/sql-server-2008/dd537533(v=sql.100).
做一些简单的事情(例如删除索引)和执行其他优化(例如分区)将使您的加载速度更快。虽然 30 分钟不是一个可行的时间,但在工作时间之外运行 SSIS 包将是一项非常简单的任务。
我的业务没有您那样的负载规模,但我们每晚都会刷新超过 100M 的数据库,即使优化得很差,也不会超过 45 分钟。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)