如何提高2005年运行正常的SSIS 2008软件包的更新性能?

时间:2013-02-12 19:22:35

标签: sql-server-2008 ssis

我正在将我的数据仓库从 SQL Server 2005 迁移到 SQL Server 2008 。表更新的性能大幅下降。插件效果很好。

我在两种环境中使用相同的SSIS包,但2008仍然无法正确更新。

我在所有表格上都运行了更新统计信息。该过程使用临时表。我已经删除了所有索引(除了更新所需的索引),但这些措施都没有帮助。我还写了一个更新语句,模仿SSIS正在做什么,它按预期运行得很快。

更新过程使用数据流任务(任务中还有其他内容,例如插入processed表以了解更新中使用的数据)。

这是一个全新的数据库,没有其他任何东西在上面运行。有什么建议吗?

捕获的统计数据IO

  • 2005,CPU = 0,Reads = 150
  • 2008,CPU = 1700,读取= 33,000

数据库RAM:

  • 2005,40GB Total / 18 Sql Server
  • 2008,128GB Total / 110GB Sql Server

1 个答案:

答案 0 :(得分:3)

问题出现在执行计划中。 2008年的计划是使用不同的表构建更新声明。背景:由于我们使用的索引视图在查询这些表时不允许任何其他访问,因此我们构建了iView使用的较小/较瘦的表而不是我们的维度,以使用户可以使用它们。优化器正在选择那些表而不是我们在查询中指定的表。

当我最初做解释计划时,我使用了错误的查询,该查询没有此功能。这一切都有所不同。

谢谢!