Share via


Custom Messages for Logging

Integration Services provides a rich set of custom events for writing log entries for packages and many tasks. You can use these entries to save detailed information about execution progress, results, and problems by recording predefined events or user-defined messages for later analysis. For example, you can record when a bulk insert begins and ends to identify performance issues when the package runs.

The custom log entries are a different set of entries than the set of standard logging events that are available for packages and all containers and tasks. The custom log entries are tailored to capture useful information about a specific task in a package. For example, one of the custom log entries for the Execute SQL task records the SQL statement that the task executes in the log.

All log entries include date and time information, including the log entries that are automatically written when a package begins and finishes. Many of the log events write multiple entries to the log. This typically occurs when the event has different phases. For example, the ExecuteSQLExecutingQuery log event writes three entries: one entry after the task acquires a connection to the database, another after the task starts to prepare the SQL statement, and one more after the execution of the SQL statement is completed.

The following Integration Services objects have custom log entries:

Package

Bulk Insert Task

Data Flow Task

Execute DTS 2000 Task

Execute Process Task

Execute SQL Task

File System Task

FTP Task

Message Queue Task

Script Task

Send Mail Task

Transfer Database Task

Transfer Error Messages Task

Transfer Jobs Task

Transfer Logins Task

Transfer Master Stored Procedures Task

Transfer SQL Server Objects Task

Web Services Task

WMI Data Reader Task

WMI Event Watcher Task

XML Task

Log Entries

Package

The following table lists the custom log entries for packages.

Log entry

Description

PackageStart

Indicates that the package began to run.

Note

This log entry is automatically written to the log. You cannot exclude it.

PackageEnd

Indicates that the package completed.

Note

This log entry is automatically written to the log. You cannot exclude it.

Diagnostic

Provides information about the system configuration that affects package execution such as the number executables that can be run concurrently.

The Diagnostic log entry also includes before and after entries for calls to external data providers. For more information, see Troubleshooting Tools Package Connectivity.

Bulk Insert Task

The following table lists the custom log entries for the Bulk Insert task.

Log entry

Description

DTSBulkInsertTaskBegin

Indicates that the bulk insert began.

DTSBulkInsertTaskEnd

Indicates that the bulk insert finished.

DTSBulkInsertTaskInfos

Provides descriptive information about the task.

Data Flow Task

The following table lists the custom log entries for the Data Flow task.

Log entry

Description

BufferSizeTuning

Indicates that the Data Flow task changed the size of the buffer. The log entry describes the reasons for the size change and lists the temporary new buffer size.

OnPipelinePostEndOfRowset

Denotes that a component has been given its end-of-rowset signal, which is set by the last call of the ProcessInput method. An entry is written for each component in the data flow that processes input. The entry includes the name of the component.

OnPipelinePostPrimeOutput

Indicates that the component has completed its last call to the PrimeOutput method. Depending on the data flow, multiple log entries may be written. If the component is a source, this means that the component has finished processing rows.

OnPipelinePreEndOfRowset

Indicates that a component is about to receive its end-of-rowset signal, which is set by the last call of the ProcessInput method. An entry is written for each component in the data flow that processes input. The entry includes the name of the component.

OnPipelinePrePrimeOutput

Indicates that the component is about to receive its call from the PrimeOutput method. Depending on the data flow, multiple log entries may be written.

OnPipelineRowsSent

Reports the number of rows provided to a component input by a call to the ProcessInput method. The log entry includes the component name.

PipelineBufferLeak

Provides information about any component that kept buffers alive after the buffer manager goes away. This means that buffers resources were not released and may cause memory leaks. The log entry provides the name of the component and the ID of the buffer.

PipelineExecutionPlan

Reports the execution plan of the data flow. It provides information about how buffers will be sent to components. This information, in combination with the PipelineExecutionTrees entry, describes what is occurring in the task.

PipelineExecutionTrees

Reports the execution trees of the layout in the data flow. The scheduler of the data flow engine use the trees to build the execution plan of the data flow.

PipelineInitialization

Provides initialization information about the task. This information includes the directories to use for temporary storage of BLOB data, the default buffer size, and the number of rows in a buffer. Depending on the configuration of the Data Flow task, multiple log entries may be written.

Execute DTS 2000 Task

The following table lists the custom log entries for the Execute DTS 2000 task.

Log entry

Description

ExecuteDTS80PackageTaskBegin

Indicates that the task began to run a DTS 2000 package.

ExecuteDTS80PackageTaskEnd

Indicates that the task finished.

Note

The DTS 2000 package may continue to run after the task ends.

ExecuteDTS80PackageTaskTaskInfo

Provides descriptive information about the task.

ExecuteDTS80PackageTaskTaskResult

Reports the execution result of the DTS 2000 package that the task ran.

Execute Process Task

The following table lists the custom log entries for the Execute Process task.

Log entry

Description

ExecuteProcessExecutingProcess

Provides information about the process of running the executable that the task is configured to run.

Two log entries are written. One contains information about the name and location of the executable that the task runs, and the other records the exit from the executable.

ExecuteProcessVariableRouting

Provides information about which variables are routed to the input and outputs of the executable. Log entries are written for stdin (the input), stdout (the output), and stderr (the error output).

Execute SQL Task

The following table describes the custom log entry for the Execute SQL task.

Log entry

Description

ExecuteSQLExecutingQuery

Provides information about the execution phases of the SQL statement. Log entries are written when the task acquires connection to the database, when the task starts to prepare the SQL statement, and after the execution of the SQL statement is completed. The log entry for the prepare phase includes the SQL statement that the task uses.

File System Task

The following table describes the custom log entry for the File System task.

Log entry

Description

FileSystemOperation

Reports the operation that the task performs. The log entry is written when the file system operation starts and includes information about the source and destination.

FTP Task

The following table lists the custom log entries for the FTP task.

Log entry

Description

FTPConnectingToServer

Indicates that the task initiated a connection to the FTP server.

FTPOperation

Reports the beginning of and the type of FTP operation that the task performs.

Message Queue Task

The following table lists the custom log entries for the Message Queue task.

Log entry

Description

MSMQAfterOpen

Indicates that the task finished opening the message queue.

MSMQBeforeOpen

Indicates that the task began to open the message queue.

MSMQBeginReceive

Indicates that the task began to receive a message.

MSMQBeginSend

Indicates that the task began to send a message.

MSMQEndReceive

Indicates that the task finished receiving a message.

MSMQEndSend

Indicates that the task finished sending a message

MSMQTaskInfo

Provides descriptive information about the task.

MSMQTaskTimeOut

Indicates that the task timed out.

Script Task

The following table describes the custom log entry for the Script task.

Log entry

Description

ScriptTaskLogEntry

Reports the results of implementing logging in the script. A log entry is written for each call to the Log method of the Dts object. The entry is written when the code is run. For more information, see Logging in the Script Task.

Send Mail Task

The following table lists the custom log entries for the Send Mail task.

Log entry

Description

SendMailTaskBegin

Indicates that the task began to send an e-mail message.

SendMailTaskEnd

Indicates that the task finished sending an e-mail message.

SendMailTaskInfo

Provides descriptive information about the task.

Transfer Database Task

The following table lists the custom log entries for the Transfer Database task.

Log entry

Description

SourceDB

Specifies the database that the task copied.

SourceSQLServer

Specifies the computer from which the database was copied.

Transfer Error Messages Task

The following table lists the custom log entries for the Transfer Error Messages task.

Log entry

Description

TransferErrorMessagesTaskFinishedTransferringObjects

Indicates that the task finished transferring error messages.

TransferErrorMessagesTaskStartTransferringObjects

Indicates that the task started to transfer error messages.

Transfer Jobs Task

The following table lists the custom log entries for the Transfer Jobs task.

Log entry

Description

TransferJobsTaskFinishedTransferringObjects

Indicates that the task finished transferring SQL Server Agent jobs.

TransferJobsTaskStartTransferringObjects

Indicates that the task started to transfer SQL Server Agent jobs.

Transfer Logins Task

The following table lists the custom log entries for the Transfer Logins task.

Log entry

Description

TransferLoginsTaskFinishedTransferringObjects

Indicates that the task finished transferring logins.

TransferLoginsTaskStartTransferringObjects

Indicates that the task started to transfer logins.

Transfer Master Stored Procedures Task

The following table lists the custom log entries for the Transfer Master Stored Procedures task.

Log entry

Description

TransferStoredProceduresTaskFinishedTransferringObjects

Indicates that the task finished transferring user-defined stored procedures that are stored in the master database.

TransferStoredProceduresTaskStartTransferringObjects

Indicates that the task started to transfer user-defined stored procedures that are stored in the master database.

Transfer SQL Server Objects Task

The following table lists the custom log entries for the Transfer SQL Server Objects task.

Log entry

Description

TransferSqlServerObjectsTaskFinishedTransferringObjects

Indicates that the task finished transferring SQL Server database objects.

TransferSqlServerObjectsTaskStartTransferringObjects

Indicates that the task started to transfer SQL Server database objects.

Web Services Task

The following table lists the custom log entries that you can enable for the Web Services task.

Log entry

Description

WSTaskBegin

The task began to access a Web service.

WSTaskEnd

The task completed a Web service method.

WSTaskInfo

Descriptive information about the task.

WMI Data Reader Task

The following table lists the custom log entries for the WMI Data Reader task.

Log entry

Description

WMIDataReaderGettingWMIData

Indicates that the task began to read WMI data.

WMIDataReaderOperation

Reports the WQL query that the task ran.

WMI Event Watcher Task

The following table lists the custom log entries for the WMI Event Watcher task.

Log entry

Description

WMIEventWatcherEventOccurred

Denotes that the event occurred that the task was monitoring.

WMIEventWatcherTimedout

Indicates that the task timed out.

WMIEventWatcherWatchingForWMIEvents

Indicates that the task began to execute the WQL query. The entry includes the query.

XML Task

The following table describes the custom log entry for the XML task.

Log entry

Description

XMLOperation

Provides information about the operation that the task performs

Blog entry, Logging custom events for Integration Services tasks, on dougbert.com.

Integration Services icon (small) Stay Up to Date with Integration Services

For the latest downloads, articles, samples, and videos from Microsoft, as well as selected solutions from the community, visit the Integration Services page on MSDN:


For automatic notification of these updates, subscribe to the RSS feeds available on the page.

See Also

Concepts

Integration Services (SSIS) Logging