Microsoft 将 Microsoft SQL Server 2008 修复分发为一个可下载文件。 由于修补程序是累积的,因此每个新版本都包含以前的 SQL Server 2008 修复版本附带的所有修补程序和所有安全修补程序。

症状

请考虑以下情况:

  • 在 Microsoft SQL Server 2008 中运行使用 row_number 函数的并行查询。

  • 尝试使用 SELECT 语句或数据操作语言(DML)语句内的子查询运行查询。

在这种情况下,你会遇到下列问题之一:

  • 如果在SELECT 语句中多次运行查询,则会收到不正确的结果。

  • 如果查询在 DML 语句内运行,则该表可能包含不正确的数据。 如果表具有约束,则该语句可能会失败,并违反约束条件。例如,如果表具有主键,则 INSERT 语句可能失败,并且会发生主键冲突错误。

注意 以下情况下可能会出现这些问题:

  • 将 MAXDOP 查询提示选项设置为大于 2的值。

  • 将 " 最大并行度 " 选项设置为 "服务器配置" 中大于 2 的值。

解决方案

若要解决此问题,请获取最新的 SQL Server 2008 服务包。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

968382 如何获取最新的 SQL Server 2008 服务包

解决方法

若要解决此问题,请使用以下某种方法:

  • 如果已应用下列更新之一,则启用4134跟踪标志:

    • Sql Server 2008 的累积更新包6或 SQL Server 2008 的更高累积更新包

    • Sql server 2008 Service Pack 1 (SP1)的累积更新包2或更高版本的 SQL Server 2008 SP1 的累积更新包

    有关如何启用跟踪标记的详细信息,请访问以下 MSDN 网站:

    如何启用跟踪标记

  • 参考 Microsoft 知识库文章970198中的 "解决方法" 部分。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

    970198 修复:当运行使用 SQL Server 2008 中的 row_number 函数的查询时,收到错误结果。

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。