Symptoms
Consider the following scenario:
-
You have a partitioned table in Microsoft SQL Server 2008, SQL Server 2008 R2, or Microsoft SQL Server 2012..
-
The table has a non-unique, nonclustered index in a descending order.
-
You run a query against the table. The query spans multiple partitions and requests an order.
In this scenario, the query returns incorrect results.
Cause
This issue occurs because SQL Server reverses partition ID ranges when a descending index is queried. Therefore, the correct order across the partitions is violated.
Resolution
The issue was first fixed in the following cumulative update of SQL Server. After you apply the fix, you have to enable trace flag 4199 to make the hotfix work.
Cumulative Update 8 for SQL Server 2012 SP1 /en-us/help/2917531
Cumulative Update 11 for SQL Server 2012 /en-us/help/2908007
Cumulative Update 10 for SQL Server 2008 R2 SP2 /en-us/help/2908087
Cumulative Update 14 for SQL Server 2008 SP3 /en-us/help/2893410
Each new cumulative update for SQL Server contains all the hotfixes and all the security fixes that were included with the previous cumulative update. Check out the latest cumulative updates for SQL Server:
Status
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.