Assume that you use SQL Server Agent to run many SQL Server 2012 Integration Services (SSIS 2012) packages in parallel. Additionally, the SSIS event is configured to be logged to the SSISDB or MSDB tables. In this situation the execution of an SSIS package ends unexpectedly and has a "Canceled" status. When this occurs, no error messages are logged. For example, a long execution of an SSIS package that lasts 2 to 3 hours ends unexpectedly, has a "Canceled" status, and has no logged error messages.Note
- The expected result is that the package execution should succeed or should fail with some errors. Additionally, the "Canceled" status should appear only for package executions that are explicitly stopped.
- This issue is more likely to occur when the SQL Server Database Engine instance in which the SSIS events are logged is under stressful conditions. The stressful conditions could include blocking, slow performance, or delays that are caused by SSISDB database growth.
The issue occurs because the event logging times out. This causes the SSIS package execution to be canceled prematurely.
When an SSIS event is configured to be logged in the SSISDB or MSDB tables, an Insert
command writes the log event and performance statistics to those tables internally. When there are many parallel executions of SSIS packages, many parallel Insert
commands are executed. Therefore, the time-out error is more likely to occur and cause the issue that is described in the "Symptoms" section.
After you apply the fix, the time-out time for the Insert
command is increased from 30 seconds to 120 seconds. Additionally, if the time-out occurs after a 120-second delay, the SSIS package execution will not be canceled. Instead, the outstanding log events are skipped in order to avoid package failure.
Cumulative update information
Cumulative update package 3 for SQL Server 2012
The fix for this issue was first released in Cumulative Update 3. For more information about how to obtain this cumulative update package for SQL Server 2012, click the following article number to view the article in the Microsoft Knowledge Base:
Cumulative update 3 for SQL Server 2012
Because the builds are cumulative, each new fix release contains all the hotfixes and all the security fixes that were included with the previous SQL Server 2012 fix release. We recommend that you consider applying the most recent fix release that contains this hotfix. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
The SQL Server 2012 builds that were released after SQL Server 2012 was released
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.
To work around the issue, use one of the following methods:
- Try to run fewer SSIS packages or fewer tasks in parallel.
- Try to decrease the Logging Level parameter when you execute a package from Management Studio or from a SQL Server Agent job. For example, if you are using verbose logging, you can set the Logging Level parameter to Basic or None. If you are using the Logging settings from the SSIS package settings in SQL Server Data Tools designer, you can log the events to a text file instead of to the SSISDB or MSDB database tables.