2

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

4

1 回答 1

0

我强烈推荐这本书和其中包含的日志框架:

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

国际标准书号:978-0-470-52576-0

如果我正确理解了您的问题,我会说它完全符合您的要求。代码下载链接在这里。

它的设置非常简单,而且非常强大。作者在逐步引导您完成这一方面做得非常出色。应该需要大约一天的时间才能启动并运行。

我想支持他们的建议,即制作一个“模板包”,您可以从中构建所有其他包。该模板已包含所有 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
)
于 2013-12-14T23:13:37.563 回答