在此 microsoft 链接的帮助下,我知道许多与 SSIS 诊断相关的工具:
- 事件处理程序(特别是“OnError”)
- 错误输出
- 运营报告
- SSISDB 视图
- 日志记录
- 调试转储文件
我只想知道使用 SSIS 进行(非生产)诊断设置的基本“转到”方法是什么。我是一名开发人员,他将有权访问我将在其中执行诊断的 QA 和 UAT 服务器。
在我第一次尝试查找错误源时,我使用 SSMS 查看操作报告。我看到的只有这样:
我按照上面显示的说明进行操作,但它所做的只是引导我转了一圈。概览允许我查看详细信息,但详细信息显示上述消息并要求我返回概览。简而言之,除了告诉我在 SSIS 包中哪个任务失败之外,还有零错误信息。
我只是想达到一个我终于可以看到关于错误的一些信息的地步。
如果答案是我首先需要在我的包中配置一个 OnError 事件,那么我的下一个问题是:该 OnError 事件的基本“转到”设计器流程是什么样的?
仅供参考,这个问题类似于“登录 SSIS 的最佳方式”
在这个答案中,我还注意到 SSIS 成功的总体策略。作者说:
检测您的代码 - 让它生成日志条目,可能会记录诊断信息,例如检查总数或计数。没有这个,故障排除几乎是不可能的。此外,断言检查是考虑错误处理的好方法(在 b 中的行数是否相等,A:B 关系真的是 1:1)。
听起来不错!但我想举一个更具体的例子……特别是为了让我了解产生了哪些特定错误的基础知识。
我试图避免学习所有 SSIS 诊断方法,只是为了选择一种好的“全方位”方法。
更新
根据 Nick.McDermaid 的建议,在 SSISDB DB 中我运行这个:
SELECT * FROM [SSISDB].[catalog].[executions] ORDER BY start_time DESC
这向我显示了我手动执行的包。时间戳正确反映了我运行它们的时间。如果有什么异常(?),那就是reference_id
,reference_type
和environment_name
列是空的。所有其他列都有值。
更新#2
我发现了我正在寻找的答案的一半。没有错误信息可用的原因是因为默认情况下 SSIS 包执行日志记录级别为“无”。我不得不更改日志记录级别。
Nick.McDermaid 通过解释我不需要深入研究 OnError 工具或 SSIS 日志记录提供程序工具,给了我其余的答案。