日志记录的自定义消息

Integration Services 提供了一组丰富的自定义事件,可以用来写入包和很多任务的日志项。 使用这些项可以记录预定义的事件或用户定义的消息,供随后分析时使用,从而将有关执行进度、结果和问题的详细信息保存下来。 例如,可以记录大容量插入的开始和结束时间,从而找出包运行时的性能问题。

与对包和所有容器及任务可用的标准日志记录事件集相比,自定义日志项是一组不同的项。 您可以根据需要使用自定义日志项来捕获有关包中特定任务的有用信息。 例如,执行 SQL 任务的一个自定义日志项可以在日志中记录该任务所执行的 SQL 语句。

所有日志项都包括日期和时间信息,包括在包开始和完成时自动写入的日志项。 很多日志事件都会在日志中写入多个项。 这通常发生在事件有不同阶段时。 例如,ExecuteSQLExecutingQuery 日志事件写入三项:在任务获得与数据库的连接之后写入一项,在任务开始准备 SQL 语句之后写入另一项,并在执行完 SQL 语句之后再写入一项。

以下 Integration Services 对象有自定义日志项:

大容量插入任务

数据流任务

执行 DTS 2000 任务

执行进程任务

执行 SQL 任务

文件系统任务

FTP 任务

消息队列任务

脚本任务

发送邮件任务

传输数据库任务

传输错误消息任务

传输作业任务

传输登录名任务

传输主存储过程任务

传输 SQL Server 对象任务

Web 服务任务

WMI 数据读取器任务

WMI 事件观察器任务

XML 任务

日志项

下表列出了包的自定义日志项。

日志项

说明

PackageStart

指示包开始运行。

注意注意

此日志项自动写入日志。 无法排除它。

PackageEnd

指示包已完成。

注意注意

此日志项自动写入日志。 无法排除它。

Diagnostic

提供影响包执行的系统配置的相关信息,例如,可并发运行的可执行文件数。

Diagnostic 日志项还包括调用外部数据访问接口之前和之后的项。 有关详细信息,请参阅对包连接进行故障排除的工具

大容量插入任务

下表列出了大容量插入任务的自定义日志项。

日志项

说明

DTSBulkInsertTaskBegin

指示大容量插入开始。

DTSBulkInsertTaskEnd

指示大容量插入完成。

DTSBulkInsertTaskInfos

提供有关任务的说明性信息。

数据流任务

下表列出了数据流任务的自定义日志项。

日志项

说明

BufferSizeTuning

指示数据流任务更改了缓冲区的大小。 日志条目描述了大小更改的原因,并列出了临时的新缓冲区大小。

OnPipelinePostEndOfRowset

表示组件已经给出它的行集结束信号,该信号由对 ProcessInput 方法的最后调用设置。 对于数据流中处理输入的每个组件,都会写入一项。 该项包括组件的名称。

OnPipelinePostPrimeOutput

指示组件已经完成它对 PrimeOutput 方法的最后一次调用。 取决于数据流,可能写入多个日志条目。 如果组件是源组件,这意味着该组件已经完成对行的处理。

OnPipelinePreEndOfRowset

指示组件将要接收它的行集结束信号,该信号由对 ProcessInput 方法的最后一次调用设置。 对于数据流中处理输入的每个组件,都会写入一项。 该项包括组件的名称。

OnPipelinePrePrimeOutput

指示组件将从 PrimeOutput 方法接收它的调用。 取决于数据流,可能写入多个日志条目。

OnPipelineRowsSent

报告对 ProcessInput 方法的调用为组件输入所提供的行数。 此日志条目包括组件名。

PipelineBufferLeak

提供在缓冲区管理器退出之后使缓冲区保持活动状态的任何组件的相关信息。 这意味着缓冲区资源未释放,并且可能导致内存泄漏。 日志项提供组件的名称和缓冲区的 ID。

PipelineExecutionPlan

报告数据流的执行计划。 它提供有关缓冲区将如何发送到组件的信息。 此信息与 PipelineExecutionTrees 项组合,一起描述在任务中所发生的事情。

PipelineExecutionTrees

报告数据流中的布局的执行树。 数据流引擎的计划程序使用这些树生成数据流的执行计划。

PipelineInitialization

提供有关任务的初始化信息。 此信息包括要用来临时存储 BLOB 数据、默认缓冲区大小和缓冲区行数的目录。 取决于数据流任务的配置,可能写入多个日志条目。

执行 DTS 2000 任务

下表列出了执行 DTS 2000 任务的自定义日志项。

日志项

说明

ExecuteDTS80PackageTaskBegin

指示任务开始运行 DTS 2000 包。

ExecuteDTS80PackageTaskEnd

指示任务已完成。

注意注意

任务结束之后,DTS 2000 包可能继续运行。

ExecuteDTS80PackageTaskTaskInfo

提供有关任务的说明性信息。

ExecuteDTS80PackageTaskTaskResult

报告该任务所运行的 DTS 2000 包的执行结果。

执行进程任务

下表列出了执行进程任务的自定义日志项。

日志项

说明

ExecuteProcessExecutingProcess

提供有关进程的信息,该进程运行此任务按配置要求要运行的可执行文件。

写入两个日志项。 一个日志项包含有关任务所运行的可执行文件的名称和位置的信息,另一个则记录从可执行文件退出的信息。

ExecuteProcessVariableRouting

提供有关哪些变量被路由到可执行文件的输入和输出的信息。 将为 stdin(输入)、stdout(输出)和 stderr(错误输出)写入日志项。

执行 SQL 任务

下表介绍了执行 SQL 任务的自定义日志项。

日志项

说明

ExecuteSQLExecutingQuery

提供有关 SQL 语句的执行阶段的信息。 在任务获得与数据库的连接时、任务开始准备 SQL 语句时以及执行完 SQL 语句之后写入日志项。 准备阶段的日志项包括任务所使用的 SQL 语句。

文件系统任务

下表介绍了文件系统任务的自定义日志项。

日志项

说明

FileSystemOperation

报告任务所执行的操作。 在文件系统操作开始时写入日志项,日志项包括有关源和目标的信息。

FTP 任务

下表列出了 FTP 任务的自定义日志项。

日志项

说明

FTPConnectingToServer

指示任务已启动与 FTP 服务器的连接。

FTPOperation

报告任务所执行的 FTP 操作的开始及其类型。

消息队列任务

下表列出了消息队列任务的自定义日志项。

日志项

说明

MSMQAfterOpen

指示任务已完成打开消息队列的操作。

MSMQBeforeOpen

指示任务开始打开消息队列。

MSMQBeginReceive

指示任务开始接收消息。

MSMQBeginSend

指示任务开始发送消息。

MSMQEndReceive

指示任务完成接收消息。

MSMQEndSend

指示任务完成发送消息的操作。

MSMQTaskInfo

提供有关任务的说明性信息。

MSMQTaskTimeOut

指示任务已超时。

脚本任务

下表介绍了脚本任务的自定义日志项。

日志项

说明

ScriptTaskLogEntry

报告在脚本中实现日志记录的结果。 在每次调用 Dts 对象的 Log 方法时将写入日志项。 代码运行时将写入日志项。 有关详细信息,请参阅脚本任务中的日志记录

发送邮件任务

下表列出了发送邮件任务的自定义日志项。

日志项

说明

SendMailTaskBegin

指示任务开始发送电子邮件。

SendMailTaskEnd

指示任务已发送完电子邮件。

SendMailTaskInfo

提供有关任务的说明性信息。

传输数据库任务

下表列出了传输数据库任务的自定义日志项。

日志项

说明

SourceDB

指定任务所复制的数据库。

SourceSQLServer

指定从中复制数据库的计算机。

传输错误消息任务

下表列出了传输错误消息任务的自定义日志项。

日志项

说明

TransferErrorMessagesTaskFinishedTransferringObjects

指示任务已完成传输错误消息的操作。

TransferErrorMessagesTaskStartTransferringObjects

指示任务已开始传输错误消息。

传输作业任务

下表列出传输作业任务的自定义日志项。

日志项

说明

TransferJobsTaskFinishedTransferringObjects

指示任务已完成传输 SQL Server 代理作业。

TransferJobsTaskStartTransferringObjects

指示任务已开始传输 SQL Server 代理作业。

传输登录名任务

下表列出了传输登录名任务的自定义日志项。

日志项

说明

TransferLoginsTaskFinishedTransferringObjects

指示任务已传输完登录名。

TransferLoginsTaskStartTransferringObjects

指示任务已开始传输登录名。

传输主存储过程任务

下表列出可传输主存储过程任务的自定义日志项。

日志项

说明

TransferStoredProceduresTaskFinishedTransferringObjects

指示任务已传输完在 master 数据库中存储的用户定义的存储过程。

TransferStoredProceduresTaskStartTransferringObjects

指示任务已开始传输 master 数据库中存储的用户定义的存储过程。

传输 SQL Server 对象任务

下表列出了传输 SQL Server 对象任务的自定义日志项。

日志项

说明

TransferSqlServerObjectsTaskFinishedTransferringObjects

指示任务已完成传输 SQL Server 数据库对象。

TransferSqlServerObjectsTaskStartTransferringObjects

指示任务已开始传输 SQL Server 数据库对象。

Web 服务任务

下表列出了可以为 Web 服务任务启用的自定义日志项。

日志项

说明

WSTaskBegin

任务已开始访问 Web 服务。

WSTaskEnd

任务已完成 Web 服务方法。

WSTaskInfo

有关任务的说明性信息。

WMI 数据读取器任务

下表列出了 WMI 数据读取器任务的自定义日志项。

日志项

说明

WMIDataReaderGettingWMIData

指示任务已开始读取 WMI 数据。

WMIDataReaderOperation

报告任务所运行的 WQL 查询。

WMI 事件观察器任务

下表列出了 WMI 事件观察器任务的自定义日志项。

日志项

说明

WMIEventWatcherEventOccurred

表示发生了任务正在监视的事件。

WMIEventWatcherTimedout

指示任务已超时。

WMIEventWatcherWatchingForWMIEvents

指示任务已开始执行 WQL 查询。 日志项包括查询。

XML 任务

下表介绍了 XML 任务的自定义日志项。

日志项

说明

XMLOperation

提供任务所执行的操作的相关信息

相关内容

dougbert.com 上的博客文章为 Integration Services 任务记录自定义事件

Integration Services 图标(小) 使 Integration Services 保持最新

若要从 Microsoft 获得最新的下载内容、文章、示例和视频,以及从社区获得所选解决方案,请访问 MSDN 上的 Integration Services 页:


若要获得有关这些更新的自动通知,请订阅该页上提供的 RSS 源。

请参阅

概念

Integration Services (SSIS) 日志记录