在SQL服务器之间传输数据的最佳做法是什么?

时间:2012-09-26 03:55:27

标签: sql-server ssis dts

我们有许多内部SQL Server正在运行,并且有一些日常工作会传输数据。 我们还有一些外部数据库,我们将使用view或txt来传输数据。

现在,我们正在使用DTS& SSIS。 但由于某些原因,我们的经理不喜欢DTS / SSIS,所以我们正在退出DTS / SSIS,但我们仍然需要转移数据。他们建议开发一些应用程序,用于加载数据/文件,然后插入目标。

这是一个很好的解决方案吗?有什么建议吗?

我认为唯一合理的理由是:如果存在性能问题,很难在DTS / SSIS中找到原因

非常感谢!

1 个答案:

答案 0 :(得分:1)

有许多在服务器之间传输数据的方法。您可以使用带有OPENROWSET查询的链接服务器,可以将BCP实用程序与暂存文件一起使用,也可以使用PowerShell脚本来命名一些。

最合适的取决于您的具体情况,但对我而言,SSIS通常是最合适的技术,特别是涉及转换时。 SSIS拥有ETL世界纪录(虽然这是一个大量硬件的人为实验),所以应该挑战你的性能需求。

您可以做很多事情来改善SSIS数据移动的性能,并且您的问题中没有足够的信息来确定您需要做什么,但这里有一些SSIS性能的指示:

  • 确保数据流中的缓冲区大小设置正确,通常高于默认的10000行,但具体大小取决于您的内存容量。

  • 确保使用具有快速加载的OLEDB目标

  • 下载Balanced Data Distributor组件并并行加载表。这还需要在堆或按序列数据上使用TABLOCK,在聚簇索引上使用TF 610.

  • 避免同步转换,例如排序。