Custom Messages for Logging

 

Updated: August 26, 2016

SQL Server 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

Package

The following table lists the custom log entries for packages.

Log entryDescription
PackageStartIndicates that the package began to run. This log entry is automatically written to the log. You cannot exclude it.
PackageEndIndicates that the package completed. This log entry is automatically written to the log. You cannot exclude it.
DiagnosticProvides 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.

Bulk Insert Task

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

Log entryDescription
DTSBulkInsertTaskBeginIndicates that the bulk insert began.
DTSBulkInsertTaskEndIndicates that the bulk insert finished.
DTSBulkInsertTaskInfosProvides descriptive information about the task.

Data Flow Task

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

Log entryDescription
BufferSizeTuningIndicates 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.
OnPipelinePostEndOfRowsetDenotes 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.
OnPipelinePostPrimeOutputIndicates 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.
OnPipelinePreEndOfRowsetIndicates 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.
OnPipelinePrePrimeOutputIndicates that the component is about to receive its call from the PrimeOutput method. Depending on the data flow, multiple log entries may be written.
OnPipelineRowsSentReports the number of rows provided to a component input by a call to the ProcessInput method. The log entry includes the component name.
PipelineBufferLeakProvides 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.
PipelineExecutionPlanReports 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.
PipelineExecutionTreesReports 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.
PipelineInitializationProvides 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 entryDescription
ExecuteDTS80PackageTaskBeginIndicates that the task began to run a DTS 2000 package.
ExecuteDTS80PackageTaskEndIndicates that the task finished.

Note: The DTS 2000 package may continue to run after the task ends.
ExecuteDTS80PackageTaskTaskInfoProvides descriptive information about the task.
ExecuteDTS80PackageTaskTaskResultReports 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 entryDescription
ExecuteProcessExecutingProcessProvides 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.
ExecuteProcessVariableRoutingProvides 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 entryDescription
ExecuteSQLExecutingQueryProvides 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 entryDescription
FileSystemOperationReports 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 entryDescription
FTPConnectingToServerIndicates that the task initiated a connection to the FTP server.
FTPOperationReports 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 entryDescription
MSMQAfterOpenIndicates that the task finished opening the message queue.
MSMQBeforeOpenIndicates that the task began to open the message queue.
MSMQBeginReceiveIndicates that the task began to receive a message.
MSMQBeginSendIndicates that the task began to send a message.
MSMQEndReceiveIndicates that the task finished receiving a message.
MSMQEndSendIndicates that the task finished sending a message
MSMQTaskInfoProvides descriptive information about the task.
MSMQTaskTimeOutIndicates that the task timed out.

Script Task

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

Log entryDescription
ScriptTaskLogEntryReports 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 entryDescription
SendMailTaskBeginIndicates that the task began to send an e-mail message.
SendMailTaskEndIndicates that the task finished sending an e-mail message.
SendMailTaskInfoProvides descriptive information about the task.

Transfer Database Task

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

Log entryDescription
SourceDBSpecifies the database that the task copied.
SourceSQLServerSpecifies 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 entryDescription
TransferErrorMessagesTaskFinishedTransferringObjectsIndicates that the task finished transferring error messages.
TransferErrorMessagesTaskStartTransferringObjectsIndicates 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 entryDescription
TransferJobsTaskFinishedTransferringObjectsIndicates that the task finished transferring SQL Server Agent jobs.
TransferJobsTaskStartTransferringObjectsIndicates 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 entryDescription
TransferLoginsTaskFinishedTransferringObjectsIndicates that the task finished transferring logins.
TransferLoginsTaskStartTransferringObjectsIndicates 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 entryDescription
TransferStoredProceduresTaskFinishedTransferringObjectsIndicates that the task finished transferring user-defined stored procedures that are stored in the master database.
TransferStoredProceduresTaskStartTransferringObjectsIndicates 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 entryDescription
TransferSqlServerObjectsTaskFinishedTransferringObjectsIndicates that the task finished transferring SQL Server database objects.
TransferSqlServerObjectsTaskStartTransferringObjectsIndicates 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 entryDescription
WSTaskBeginThe task began to access a Web service.
WSTaskEndThe task completed a Web service method.
WSTaskInfoDescriptive information about the task.

WMI Data Reader Task

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

Log entryDescription
WMIDataReaderGettingWMIDataIndicates that the task began to read WMI data.
WMIDataReaderOperationReports 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 entryDescription
WMIEventWatcherEventOccurredDenotes that the event occurred that the task was monitoring.
WMIEventWatcherTimedoutIndicates that the task timed out.
WMIEventWatcherWatchingForWMIEventsIndicates 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 entryDescription
XMLOperationProvides information about the operation that the task performs

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

Integration Services (SSIS) Logging

Community Additions

ADD
Show: