首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SSIS -当SSIS挂起时的最佳实践

SSIS -当SSIS挂起时的最佳实践
EN

Stack Overflow用户
提问于 2019-01-08 14:53:27
回答 1查看 2.5K关注 0票数 1

昨晚我的SSIS上吊了。我不太确定为什么。今天早上,我根据输出确定了挂起的包。我正在查看sp_who2,但我看不到在运行作业的用户下运行的任何进程。

我在想,当我的SSIS刚刚挂起的时候,我应该做什么。它目前仍在运行,但似乎没有运行任何东西。

EN

回答 1

Stack Overflow用户

发布于 2019-01-08 15:43:46

首先将包部署到SSISDB,然后从那里运行它。如果您还没有安装SSISDB目录,那么可以找到更多有关这方面的信息,这里。在此之后,启用包中的日志记录并检查结果,特别是包挂起的阶段。在执行此操作时,请查看PipelineComponentTime事件,该事件指定每个组件在特定阶段所用的时间。可能令人感兴趣的几个阶段是ProcessInput阶段,即处理传入记录的阶段,以及PrimeOutput阶段,后者是将数据放入缓冲区并进一步向下发送数据流的阶段。启用日志记录的概述如下。

  • 右键单击控制流上的任意位置,然后按Logging...
  • 选中Containers字段中包旁边的复选框以启用日志记录。选择使用Provider字段存储日志记录的位置。如果使用用于Server的SSIS日志提供程序,则将在所使用的OLE连接管理器中设置为初始目录的数据库中创建SYSSSISLOG表。在“详细信息”窗格中,选择要记录的事件。在选择这些之后,单击Advanced>>按钮来设置将要记录的字段。
  • 接下来,检查要为哪个组件启用日志记录。您将希望对任何您怀疑或已确认正遇到延迟的组件执行此操作。如果任何数据流任务已启用日志记录,则前面提到的PipelineComponentTime事件将在这些任务的Details窗口下可用。
  • 要从SSIS目录监视包,请使用SSISDB。执行此操作时,请确保在执行包时至少将日志记录级别设置为基本级别。有几种方法可以做到这一点,最简单的方法可能是从GUI。在SSISDB中的Execute package窗口上执行包之前,可以在Advanced选项卡上找到日志级别字段。
  • 如果将包部署到SSISDB,并在SQL代理中作为作业运行,则可以从作业步骤设置日志记录。打开“作业步骤属性”窗口,转到“配置”选项卡,然后转到“高级”选项卡,在其中您将看到日志记录级别字段。
  • SSISDB中有许多DMV保存有关包配置和执行的详细信息。catalog.event_messagesexecutable_statisticscatalog.operation_messages是几个有帮助的项目。为了更深入地了解组件和延迟发生的地方,我建议使用catalog.execution_component_phases,这将需要一个性能或详细的日志记录级别。
  • 如果性能取决于包中使用的参数,请从执行速度较慢的实例中使用execution_id查询catalog.execution_parameter_values DMV,以查看在这些执行中将参数设置为什么。
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54094345

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档