Symptoms
When you run a parallel query in Microsoft SQL Server 2012, you may receive incorrect results. This problem occurs if the following conditions are true:
-
The query runs against a partitioned table that has a columnstore index.
-
The query uses an aggregate function over the columnstore index.
Cause
This issue occurs when parallel threads are not synchronized. In this situation, when SQL Server computes a bitmap of partitions to scan, partitions are eliminated unexpectedly.
Resolution
Cumulative update information
Cumulative update package 1 for SQL Server 2012 Service Pack 1
The fix for this issue was first released in Cumulative Update 1. For more information about how to obtain this cumulative update package for SQL Server 2012 Service Pack 1, click the following article number to view the article in the Microsoft Knowledge Base:
2765331 Cumulative update package 1 for SQL Server 2012 Service Pack 1Note 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:
2772858 The SQL Server 2012 builds that were released after SQL Server 2012 Service Pack 1 was released
SQL Server 2012
The fix for this issue was first released in Cumulative Update 3 for SQL Server 2012. For more information about this cumulative update package, click the following article number to view the article in the Microsoft Knowledge Base:
2723749 Cumulative update package 3 for SQL Server 2012Note 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. Microsoft recommends 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:
2692828 The SQL Server 2012 builds that were released after SQL Server 2012 was released You must apply a SQL Server 2012 hotfix to an installation of SQL Server 2012.
Hotfix information
A supported hotfix is available from Microsoft. However, this hotfix is intended to correct only the problem that is described in this article. Apply this hotfix only to systems that are experiencing this specific problem.
If the hotfix is available for download, there is a "Hotfix download available" section at the top of this Knowledge Base article. If this section does not appear, submit a request to Microsoft Customer Service and Support to obtain the hotfix. Note If additional issues occur or if any troubleshooting is required, you might have to create a separate service request. The usual support costs will apply to additional support questions and issues that do not qualify for this specific hotfix. For a complete list of Microsoft Customer Service and Support telephone numbers or to create a separate service request, visit the following Microsoft website:http://support.microsoft.com/contactus/?ws=supportNote The "Hotfix download available" form displays the languages for which the hotfix is available. If you do not see your language, it is because a hotfix is not available for that language.
Prerequisites
To apply this hotfix, you must have SQL Server 2012 installed.
Restart requirement
You do not have to restart the computer after you apply the hotfix.
File information
The global version of this hotfix 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.
File name |
File version |
File size |
Date |
Time |
Platform |
---|---|---|---|---|---|
Sqlmin.dll |
2011.110.2317.0 |
26,510,744 |
18-Apr-2012 |
03:08 |
x86 |
Sqlmin.dll |
2011.110.2317.0 |
32,445,848 |
18-Apr-2012 |
03:09 |
x64 |
Workaround
To work around this issue, use one of the following methods:
-
Use one of the following methods to avoid parallelism in the problematic query:
-
Add a MAXDOP 1 query hint option.
-
Set the MAX Degree of Parallelism configuration option to 1.
-
-
Use a query hint to ignore the columnstore index in the problematic query.
Status
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.
More Information
For more information about columnstore indexes, go to the following MSDN website:
General information about columnstore indexesFor more information about query hints, go to the following MSDN website:
General information about query hintsFor more information about the sp_configure system stored procedure, go to the following MSDN website:
General information about the sp_configure system stored procedure