我有调用 SSIS 包的 ac# 应用程序。我附加了一个监听器,因此我可以捕获错误和信息事件并将它们写入日志。这会捕获数据流任务的事件,但不会捕获执行 SQL 任务的任何内容。我只想知道 SQL 任务何时执行以及是否发生错误。如何记录执行 SQL 任务的事件?我确保为 SSIS 包中的 SQL 任务启用了日志记录。
问问题
160 次
1 回答
0
我强烈推荐这本书和其中包含的日志框架:
Microsoft SQL Server 2008 集成服务:问题、设计、解决方案
如果我正确理解了您的问题,我会说它完全符合您的要求。代码下载链接在这里。
它的设置非常简单,而且非常强大。作者在逐步引导您完成这一方面做得非常出色。应该需要大约一天的时间才能启动并运行。
我想支持他们的建议,即制作一个“模板包”,您可以从中构建所有其他包。该模板已包含所有 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 回答