79

sql-server-2005 – 如何在SSIS包中创建错误日志或自定义错误日志?

 5 years ago
source link: https://codeday.me/bug/20190112/518786.html?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

我正在研究SQL 2008 – SSIS包.我正在从C#代码执行包.这是简单的平面文件(.csv)到SQL表.

从C#代码中,我得到执行结果为SUCCESS但是在包内没有采用事务,因此实际上没有导出值.

我需要通过读取日志文件来调试它.

如何在包内创建错误日志或日志文件?

以下是在SSIS中配置日志记录功能的一种方法.在此示例中,我将Send Mail Task配置为失败,并且我已启用基于SQL Server的日志记录,该日志将在程序包发生故障时存储OnError和OnTaskFailed消息.还有其他一些可能对您感兴趣的事件.在我工作的项目中,这两项任务帮助我确定了SSIS包中出现的大多数问题.

分步过程:

>此示例中的SSIS包中包含一个发送邮件任务,如屏幕截图#1所示.它配置为失败,因此我们可以在日志表中看到一些错误消息.

>单击SSIS包.

>在菜单上,选择SSIS – >记录…参见截图#2.

>在“配置SSIS日志:”对话框中,选择提供程序类型,然后单击“添加”.我为此示例选择了SQL Server.选中“名称”复选框,并在“配置”列下提供数据源.这里SQLServer是连接管理器的名称. SSIS将在您选择的数据库中创建名为dbo.sysssislog的表和存储过程dbo.sp_ssis_addlogentry.请参阅下面的截屏#3.

>如果需要捕获错误,请选中OnError和OnTaskFailed复选框.请参阅下面的截屏#4.

>数据流任务中的示例包执行如下面的屏幕截图#5所示.

>日志表dbo.sysssislog的示例输出显示在下面的屏幕截图#6中.我只显示了几列id,事件,来源和消息.表中还有其他列.消息列包含错误消息,在这种情况下,发送邮件任务中提到的服务器名称是错误的.源列包含失败的任务.在这种情况下,包名称为SSISLoggingExample,Send Mail Task命名为Email Task.错误消息将从任务冒泡到包级别.因此,错误消息在任务和包级别下记录两次.

希望有所帮助.

截图#1:

截图#2:

截图#3:

截图#4:

截图#5:

截图#6:

翻译自:https://stackoverflow.com/questions/5772667/how-to-create-an-error-log-or-custom-error-log-within-an-ssis-package


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK