如果您必须处理数据并将其从一台服务器上的数据库移动到另一台服务器上的数据库,您会怎么做?
消息数据仅限于使用CONVERT或CAST。此过程由C#.NET中的数据加载器调用。SQL脚本在SQL Server2008中执行。
您是否建议使用SQLBulkCopy、LINQ to SQL或仅使用INSERT完成此过程。在TSQL中选择?数据可以在100万到1000万行的范围内。
我将感谢您对此过程的意见,以验证执行上述操作的优化过程。
发布于 2011-08-21 16:13:54
这里应该避免LINQ-to-SQL;它没有针对这一点进行优化(它是针对单个对象/记录的,而不是批量的)。跨数据库(和可能的链接服务器)插入/选择是可能的,但我会考虑批量选项。我怀疑SSIS (ex DTS)在这里可能有用--它基本上就是为此而设计的。如果您需要托管选项,则连接到SqlBulkCopy和目标的源(ExecuteDataReader())数据读取器将执行与SSIS相同的功能(使用相同的批量协议)。
发布于 2011-08-21 16:12:54
考虑到你将要操作的数据量,我个人会选择ReplicationServices http://msdn.microsoft.com/en-us/library/ms151198.aspx,如果可能的话,避免使用编程解决方案。
发布于 2011-08-21 16:15:11
我以前遇到过一些类似的问题。我通过SQLBulkCopy解决了这个问题。bcp在性能上很棒。
https://stackoverflow.com/questions/7137053
复制相似问题