ssis sql任务日志记录

时间:2013-10-03 14:05:48

标签: c# ssis

我有一个调用SSIS包的c#app。我有一个附加的监听器,所以我可以捕获错误和信息事件并将它们写入日志。这会捕获数据流任务的事件,但不会捕获执行SQL任务的任何内容。我只想知道SQL任务何时执行以及是否发生错误。如何记录执行SQL任务的事件?我确保为SSIS包中的SQL任务启用了日志记录。

1 个答案:

答案 0 :(得分:0)

我高度推荐这本书及其中包含的登录框架:

Microsoft SQL Server 2008集成服务:问题,设计,解决方案

ISBN: 978-0-470-52576-0

如果我正确地理解了你的问题,我会说它完全符合你的要求。 Code download link here.

设置非常简单且相当强大。作者非常出色地指导您逐步完成这一过程。你需要花一天时间才能搞定它。

我想建议你制作一个“模板包”来构建所有其他包。该模板已包含所有SSIS PDS好东西,因此您只需构建一次。

供您参考,以下是SSIS PDS框架中两个核心表的表创建脚本:

CREATE TABLE [adm].[PackageTaskLog](
    [PackageTaskLogID] [int] IDENTITY(1,1) NOT NULL,
    [PackageLogID] [int] NOT NULL,
    [SourceName] [varchar](255) NOT NULL,
    [SourceID] [uniqueidentifier] NOT NULL,
    [StartDateTime] [datetime] NOT NULL,
    [EndDateTime] [datetime] NULL,
 CONSTRAINT [PK_PackageTaskLog] PRIMARY KEY CLUSTERED 
(
    [PackageTaskLogID] ASC
)

CREATE TABLE [adm].[PackageErrorLog](
    [PackageErrorLogID] [int] IDENTITY(1,1) NOT NULL,
    [PackageLogID] [int] NOT NULL,
    [SourceName] [varchar](64) NOT NULL,
    [SourceID] [uniqueidentifier] NOT NULL,
    [ErrorCode] [int] NULL,
    [ErrorDescription] [varchar](2000) NULL,
    [LogDateTime] [datetime] NOT NULL,
 CONSTRAINT [PK_PackageErrorLog] PRIMARY KEY CLUSTERED 
(
    [PackageErrorLogID] ASC
)