优化了100万到1000万的移动记录流程

本文关键字:移动 记录 1000万 100万 优化 | 更新日期: 2023-09-27 18:06:09

如果您必须处理数据并将其从一台服务器上的数据库移动到另一台服务器上的数据库,您会怎么做?
按摩数据仅限于使用CONVERT或CAST。这个过程由c# . net中的数据加载器调用。SQL脚本在SQL Server 2008中执行。
您是否建议使用SQLBulkCopy, LINQ to SQL完成此过程,或者应该仅使用INSERT........完成此过程在TSQL中选择?数据可以在100万到1000万行之间。
我将非常感谢您对这个过程的意见,以验证执行上述操作的优化过程。

优化了100万到1000万的移动记录流程

此处应避免使用LINQ-to-SQL;它没有为此进行优化(它针对单个对象/记录-而不是批量)。一个跨数据库(和可能链接的服务器)插入/选择是可能的,但我会看批量选项。我怀疑SSIS(不包括DTS)可能在这里有用——它几乎就是为这个而设计的。如果您需要一个托管选项,从连接到SqlBulkCopy到目标的源(ExecuteDataReader())的数据读取器将执行与SSIS相同的功能(使用相同的批量协议)。

我以前也遇到过这样的问题。我通过SQLBulkCopy解决了这个问题。

考虑到你要操作的数据量,我个人会选择ReplicationServices http://msdn.microsoft.com/en-us/library/ms151198.aspx,如果可能的话,避免编程解决方案。