我正在研究SQL 2008 - SSIS包。我正在从C#代码执行包。这是简单的平面文件(.csv)到SQL表。
从C#代码中,我得到执行结果为SUCCESS
但是在包中没有采用事务处理,因此实际上没有导出值。
我需要通过读取日志文件来调试它。
如何在包内创建错误日志或日志文件?
答案 0 :(得分:20)
以下是在SSIS中配置日志记录功能的一种方法。在此示例中,我将发送邮件任务配置为失败,并且我已启用基于SQL Server的日志记录,该日志将在程序包发生故障时存储 OnError 和 OnTaskFailed 消息。您还可以感兴趣其他活动。在我工作的项目中,这两项任务帮助我确定了SSIS包中出现的大多数问题。
分步流程:
Name
复选框,并在Configuration
列下提供数据源。这里 SQLServer 是连接管理器的名称。 SSIS将在您选择的数据库中创建一个名为dbo.sysssislog
的表和存储过程dbo.sp_ssis_addlogentry
。请参阅下面的 3 屏幕截图。OnError
和OnTaskFailed
。请参阅下面的 4 屏幕截图。dbo.sysssislog
的示例输出显示在下面的屏幕截图# 6 中。我只显示了几列id
,event
,source
和message
。表中还有其他列。消息列包含错误消息,在这种情况下,发送邮件任务中提到的服务器名称是错误的。源列包含失败的任务。在这种情况下,包名称为 SSISLoggingExample ,发送邮件任务命名为电子邮件任务。错误消息将从任务冒泡到包级别。因此,错误消息在任务和包级别下记录两次。希望有所帮助。
屏幕截图#1:
屏幕截图#2:
屏幕截图#3:
屏幕截图#4:
屏幕截图#5:
屏幕截图#6:
答案 1 :(得分:2)
在SSIS中记录错误非常容易。转到“事件处理程序”选项卡,从下拉列表中选择“OnError”。现在,您可以发送任何错误的电子邮件,或者您可以开发自己的自定义逻辑,将错误记录到数据库或写入文本文件。
此外,您可以选择SSIS中现有的日志记录机制。单击菜单“SSIS”,您将看到第一个选项作为日志记录,然后您将看到记录错误/警告和所需的大量信息的不同选项。