我目前通过关闭除OnWarning OnTaskFailed和OnError之外的所有日志事件来实现SQL Server集成服务(SSIS)2008项目中的日志记录,并且可以成功将事件记录到EventLog。方法如下:
在ControlFlow选项卡上,右键单击背景并选择Logging....
,然后在Providers and Logs
表下,选择SSIS log profier for Windows event Log
并添加新的EventLog提供程序。
点击Details
标签,然后框选择OnError
,OnTaskFailed
和OnWarning
框,然后选择Advanced
按钮并关闭除{之外的所有标题事件{1}}和SourceName
。单击“确定”,您将拥有一个简单的轻量级事件记录器,它不会使用多余的日志信息填充事件日志。
但是什么能使它变得更好是一种将相关事件直接记录到SQL表的方法,这样我就可以更好地监控和管理结果。如果你愿意,可以将它称为穷人MOM服务(或者遵循最新命名约定的SCOM)。
我调查使用MessageText
,但我找不到将此信息记录到SQL表的方法。
我不想编写自定义记录器,只是将这些事件记录到我自己的SQL表中的轻量级且可维护的方式。
任何指针?
答案 0 :(得分:2)
您能解释一下您使用本机SQL Server日志目标所遇到的麻烦吗?它对我来说很好。
我有一个包围着会发出警告和错误,称为Package2。我启用了SQL Server日志记录
我选择了指定的事件
只抓住了所需的字段
我跑了包,它失败了。我查询了用于记录的连接(在我的案例中,在名为localsqla的本地实例上编目SSISDB)
C:&GT; sqlcmd -S localhost \ localsqlA -d SSISDB -W -Q“SELECT L.id,L.source,L.event,L.message FROM dbo.sysssislog L WHERE L.starttime&gt;'2012-01-10'”< / p>
结果。它们在这里打印不好,所以我用|
(空间管道空间)
id source event message
-- ------ ----- -------
4054 | Package2 | PackageStart | Beginning of package execution.
4055 | Execute SQL Task | OnError | Executing the query "SELECT ? as c1, ? as c2, ? as C3" failed with the following error: "Syntax error, permission violation, or other nonspecific error". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.
4056 | Package2 | OnError | Executing the query "SELECT ? as c1, ? as c2, ? as C3" failed with the following error: "Syntax error, permission violation, or other nonspecific error". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.
4057 | Execute SQL Task | OnTaskFailed |
4058 | Package2 | OnWarning | SSIS Warning Code DTS_W_MAXIMUMERRORCOUNTREACHED. The Execution method succeeded, but the number of errors raised (1) reached the maximum allowed (1); resulting in failure. This occurs when the number of errors reaches the number specified in MaximumErrorCount. Change the MaximumErrorCount or fix the errors.
4059 | Package2 | PackageEnd | End of package execution.
(6 rows affected)