【问题标题】:SSIS Script Component or Script Task Write To Job History LogSSIS 脚本组件或脚本任务写入作业历史记录
【发布时间】:2014-05-30 20:17:38
【问题描述】:
- 我使用的是 SQL Server 2008 R2。
- 我有一个执行 SSIS 包的计划作业 - 在 SQL 代理中运行。
- 我想记录计划作业中发生的消息。
- 我想记录来自脚本组件或脚本任务的消息。
- 我不想只记录错误,我想记录成功消息,例如“已处理的 X 记录”。
- 我不想构建自定义表或任何东西。
- 理想情况下,我希望在作业历史记录日志中看到这些消息
【问题讨论】:
标签:
sql-server
logging
ssis
sql-agent-job
script-component
【解决方案1】:
您可以将消息直接发送到作业历史日志。它将在 Job 历史日志中显示如下:
对于脚本任务,请使用以下代码:
Dts.Events.FireWarning(0, "Message header", "Message Body", String.Empty, 0)
对于脚本组件,请使用以下代码:
Dim myMetadata As IDTSComponentMetaData100
myMetadata = Me.ComponentMetaData
myMetadata.FireWarning(0, "Message Header", "Message Body", "", 0)
您需要启用“在历史记录中包含步骤输出(见下文)
- 右键单击作业>>步骤>>编辑>>属性>>高级>>选中“在历史记录中包含步骤输出”
您需要为 SSIS 包启用警告消息(见下文)
- 右键单击作业>>步骤>>编辑>>属性>>命令行将“W”添加到/REPORTING
启用“在历史记录中包含步骤输出”:
启用警告消息: