【问题标题】:SSIS Logging showing random behaviour while logging event in dbo.syssisLog tableSSIS 日志记录在 dbo.syssisLog 表中记录事件时显示随机行为
【发布时间】:2016-02-01 04:08:59
【问题描述】:
我计划使用 SSIS 日志记录来获取我的包的任务级别详细信息(运行持续时间、抛出的错误消息 - 如果有的话、触发作业的用户)。
SSIS 在 System 表下创建 dbo.syssisLog 表,它工作得很好。突然它停止在 System 表下创建表并开始在 Users 表下创建。现在它也没有记录以前在 System 表下创建时记录的一些事件。事件,例如:PackageStart 和 User:PackageStart/User:PackageEnd 事件,用于某些任务。
谁能指导我这里出了什么问题?
【问题讨论】:
标签:
sql-server
logging
ssis
ssis-2012
【解决方案1】:
系统与用户表下显示的表相当无意义,但如果您希望表显示相同,请将其设置为 MS 提供的表
EXECUTE sys.sp_MS_marksystemobject 'sysssislog'
数据库日志记录在包部署模型中的工作方式是,SSIS 将尝试记录到 dbo.sysdtslog90/dbo.sysssislog(取决于您的版本),但如果该表不存在,它将为您创建它.在msdb 目录中有该表的副本,它被标记为系统对象。当 SSIS 创建自己的副本时,它只是将 DDL somewhere 放在执行日志记录的代码的内部。您会注意到它还创建了一个存储过程 sp_ssis_addlogentry 来协助记录。
至于您对不一致的日志记录行为的观察,我只能说我从未见过。它不会记录事件的唯一原因是事件没有发生 - 没有发生前兆条件或包错误。如果您可以提供一个可重现的场景,它会记录事件然后不记录事件,我很乐意告诉您它为什么会/不会这样做。