我按照这篇博客文章创建了ssis包,用于在两个表之间传输数据。 http://radacad.com/insert-update-and-delete-destination-table-with-ssis
适用于少量记录。但是,当检测到大量更新和删除行时(数千或数十万行)。它运行速度很慢,目标表被锁定,作业从未完成。另外,这种方法逐行删除和更新。
在这种情况下,请你帮我克服桌子锁。有没有办法让我们可以更新或删除一批行而不是一行一行?
答案 0 :(得分:3)
使用暂存区域,并使用执行SQL任务运行SQL或执行存储过程,以根据您的暂存区域与目标进行比较来执行批量操作。
如果您希望在SSIS中执行所有操作,但使用阻塞转换(MERGE JOIN is semi-blocking),并且逐行OLE命令转换通常不能很好地扩展,我知道这不是一个非常令人满意的答案大量数据。