症状
请考虑以下情况:
-
在 Microsoft SQL Server 2008、SQL Server 2008 R2 或 Microsoft SQL Server 2012 中有一个分区表。
-
该表按降序顺序包含非唯一的非聚集索引。
-
对表运行查询。 查询跨越多个分区并请求订单。
在这种情况下,查询将返回不正确的结果。
原因
出现此问题的原因是 SQL Server 在查询降序索引时反转分区 ID 范围。 因此,分区上的正确顺序被违反。
解决方案
在 SQL Server 的以下累积更新中,此问题首先已修复。 应用修补程序后,必须启用跟踪标记4199才能使修补程序正常工作。
SQL Server 2012 SP1 的累积更新8 /en-us/help/2917531
SQL Server 2012 累积更新11 /en-us/help/2908007
SQL Server 2008 R2 SP2 的累积更新10 /en-us/help/2908087
SQL Server 2008 SP3 的累积更新14 /en-us/help/2893410
SQL Server 的每个新的累积更新均包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:
状态
Microsoft 已经确认这是一个列于“适用范围”部分的 Microsoft 产品问题。