FIX: The Check Database Integrity task and the Execute T-SQL Statement task in a maintenance plan may lose database context in certain circumstances in SQL Server 2005 builds 3042 through 3053

Article translations Article translations
Article ID: 934458 - View products that this article applies to.
Bug #: 50001012 (SQL Hotfix)
Expand all | Collapse all

On This Page

SYMPTOMS

In Microsoft SQL Server 2005 Service Pack 2 (SP2), the following tasks in a maintenance plan may lose database context in certain circumstances:
  • Check Database Integrity
  • Execute T-SQL Statement
For example, if a Check Database Integrity task is configured to check integrity on multiple databases, the task repeatedly checks the default database.

For the Execute T-SQL Statement task, this problem occurs if the following conditions are true:
  • The Execute T-SQL Statement task contains multiple batches.
  • The batches are separated by the GO statement.
  • No batches use the USE statement to specify the database.
  • The statements in each batch do not contain the database name.
In this scenario, those statements in the second batch and in succeeding batches will be executed against the default database.

Note You can confirm that this problem has occurred by using SQL Server Profiler. When you trace the maintenance plan execution, see the Database column in SQL Server Profiler.

RESOLUTION

This problem occurs in SQL Server 2005 builds 3042 through 3053 and in SQL Server 2005 builds 3150 through 3158. If you are running a build of SQL Server 2005 SP2 between 3042 and 3053, download and install the following critical update from the Microsoft Download Center.
The following file is available for download from the Microsoft Download Center:

Collapse this imageExpand this image
Download
Download the SQL2005-KB934458-ENU package now.

After you install this critical update, the build of SQL Server 2005 is 3054.

For more information about how to download Microsoft support files, click the following article number to view the article in the Microsoft Knowledge Base:
119591 How to obtain Microsoft support files from online services
Microsoft scanned this file for viruses. Microsoft used the most current virus-detection software that was available on the date that the file was posted. The file is stored on security-enhanced servers that help prevent any unauthorized changes to the file.

File information

The English version of this critical update has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time item in Control Panel.

SQL Server 2005, 32-bit version

Collapse this tableExpand this table
File nameFile versionFile sizeDateTimePlatform
Microsoft.sqlserver.maintenanceplantasks.dll9.0.3054.0296,30423-Mar-200721:13x86
Sqlaccess.dll2005.90.3054.0350,57623-Mar-200721:13x86
Sqlservr.exe2005.90.3054.029,181,80823-Mar-200721:13x86

SQL Server 2005, x64-based version

Collapse this tableExpand this table
File nameFile versionFile sizeDateTimePlatform
Microsoft.sqlserver.maintenanceplantasks.dll9.0.3054.0296,30423-Mar-200721:13x86
Sqlaccess.dll2005.90.3054.0357,74424-Mar-200702:40x86
Sqlservr.exe2005.90.3054.038,516,08024-Mar-200702:40x64

SQL Server 2005, Itanium-based version

Collapse this tableExpand this table
File nameFile versionFile sizeDateTimePlatform
Microsoft.sqlserver.maintenanceplantasks.dll9.0.3054.0296,30423-Mar-200721:13x86
Sqlaccess.dll2005.90.3054.0352,11224-Mar-200703:59x86
Sqlservr.exe2005.90.3054.072,583,02424-Mar-200703:59ia64
If you are running any build of SQL Server 2005 SP2 between 3150 and 3158, click the following article number to view the article in the Microsoft Knowledge Base:
934459 FIX: The Check Database Integrity task and the Execute T-SQL Statement task in a maintenance plan may lose database context in certain circumstances in SQL Server 2005 builds 3150 through 3158
To obtain this critical update in an automated way, visit the following Microsoft Update Web site:
http://update.microsoft.com
After you install this critical update, the build of SQL Server 2005 is 3161.

For more information about how to determine the SQL Server version and edition, click the following article number to view the article in the Microsoft Knowledge Base:
321185 How to identify your SQL Server version and edition

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

MORE INFORMATION

In the original release version of SQL Server 2005 SP2 and earlier versions, commands that are related to maintenance plan tasks are accumulated and then executed at the same time. When an error occurs, tasks are no longer executed, and the remaining maintenance tasks are not performed. In SQL Server 2005 SP2, individual batches are submitted one at a time. In the original release version of SQL Server 2005 SP2, the database connection was reset between batches. Later batches were left in the context of the default database instead of in the context that was present before the GO statement was executed. The tasks that were affected depended on the context that was present before the GO statement was executed, specifically the Check Database Integrity task and the Execute T-SQL Statement task.

Properties

Article ID: 934458 - Last Review: October 8, 2011 - Revision: 4.0
APPLIES TO
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium-based Systems
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
Keywords: 
atdownload kbsql2005ssis kbsample kbinfo kbfile kbqfe KB934458

Give Feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com