【发布时间】:2020-01-09 05:21:51
【问题描述】:
我正在尝试解决一些性能不佳的问题,并且需要获取作为 SSIS 包的一部分运行的存储过程的实际执行计划。
在 SSIS 包中运行之前的步骤,将参数传递给存储过程。
当我尝试在查询中手动将这些参数设置为独立代码时,性能会大不相同。
我知道如何在运行查询时从 SSMS 中获取实际的执行计划,但我不知道如何在从 SSIS 包运行时获取它。缓存中的预估计划还不够。
有没有办法显示 SSIS 包的特定部分的计划,或者生成它并保存到指定的位置,以便在它运行后可以检索它?
我可能使用了错误的搜索词,但是当我尝试用 Google 搜索解决方案时,我只得到一堆页面来解释如何在直接运行查询时显示实际执行计划,或者在缓存。
编辑
我使用的是 SQL Server 2014 (SP3-CU4)
——
编辑 2
我尝试使用 SQL profiler 来获取 xml 计划,但发现:
- 即使在刚开始跟踪后手动运行时,试图在跟踪中找到正确的计划也是一个正确的问题……在通宵的 ETL 中几乎不可能找到它。
我做错了吗? 有没有更好的办法?!
【问题讨论】:
-
SQL Server 2014“R2”? SQL Server 2014 没有 R2。
-
@Larnu :对不起,我的错 - 现在修改。应该是 SQL Server 2014 (SP3-CU4)。
标签: sql-server ssis sql-execution-plan