FIX: 时 SQL Server 2005 年运行复杂查询,查询性能是较慢,如果查询的执行计划包含半联接运算符文章编号: 940128 - 查看本文应用于的产品错误 #: 50001440 (SQL 修补程序) 注意Microsoft 将 Microsoft SQL Server 2005 修补程序分发作为一个可下载的文件。因为该修补程序是累积性的因此每个新版本包含的所有修补程序和所有安全修补程序附带以前 SQL Server 2005 修补都程序版本。本文介绍以下有关此修补程序版本: - 通过此修补程序包修复的问题
- 安装此修补程序包的先决条件
- 在安装此修补程序包后是否必须重新启动计算机
- 此修补程序包是否替换任何其他修补程序包
- 是否必须进行任何注册表更改
- 修补程序包中包含的文件
在 Microsoft SQL Server 2005 中有一个复杂的查询。查询的执行计划包含 半联接 运算符。您在运行查询时在查询的查询性能很慢到 Microsoft SQL Server 2000 进行比较。 注意通常时该查询包含 IN 关键字或 EXISTS 关键字,,将生成 半联接 运算符。 由于查询优化器会生成许多多个执行计划,SQL Server 2000 相比,会出现此问题。因此,查询优化器可能会超时。发生这种情况时查询优化器将停止搜索的查询优化器完全搜索所有可能的执行计划之前执行计划。 若要确定查询优化器超时时,搜索该 StatementOptmEarlyAbortReason ="超时" XML 输出中的显示计划的执行计划的表达式。 修补程序信息可以从 Microsoft 获得支持的修补程序。但是,此修补程序被用于解决本文所述的此问题。此修补程序仅应用于出现这一特定问题的系统。此修补程序可能会接受进一步的测试。因此,如果此问题没有对您造成严重的影响,我们建议您等待包含此修补程序的下一个软件更新。 是否可供下载此修补程序没有"提供修补程序下载"部分中,在这篇知识库文章的顶部。如果不会显示此部分,请联系 Microsoft 客户服务和支持以获取此修复程序。 注意如果出现其他问题,或者如果需要进行任何故障诊断,则您可能不得不创建单独的服务请求。将正常收取支持费用将应用于其他支持问题和不需要进行此特定的修补程序的问题。有关完整列表的 Microsoft 客户服务和支持的电话号码,或创建一个单独的服务请求,请访问下面的 Microsoft 网站: 注意"提供修补程序下载"窗体所显示的此修复程序是可用的语言。如果您看不到您的语言,则是一个修复程序不能用于该语言。 系统必备组件- SQL Server 2005 Service Pack 2
有关如何获取 SQL Server 2005 Service Pack 2 的详细信息单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 913089
(http://support.microsoft.com/kb/913089/
)
如何获取最新的 service pack,SQL Server 2005 年
重新启动信息您不必在应用此修补程序后,重新启动计算机。 修补程序替换信息任何其他修补程序不替换此修补程序。 注册表信息您不必更改注册表。 文件信息此修补程序仅包含那些文件解决本文列出了该问题所必需的。此修补程序不能包含将产品完全更新到最新版本所必需的所有文件。 此修补程序的英文版具有的文件属性 (或更新的文件属性) 在下表中列出。日期和时间对这些文件列出在协调世界时 (UTC)。当您查看文件信息时,将转换为本地时间。若要 UTC 与本地时间之间的时差使用控制面板中的 日期和时间 项中的 时区 选项卡。 32 位版本上的 SQL Server 2005 年收起该表格展开该表格 | 文件的名称 | 文件版本 | 文件大小 | 日期 | 时间 | 平台 |
|---|
| Chsbrkr.dll | 12.0.7822.0 | 1,684,840 | 2007 年六月 22 日 | 09: 22 | x86 | | Chtbrkr.dll | 12.0.7822.0 | 6,112,616 | 2007 年六月 22 日 | 09: 22 | x86 | | Databasemailprotocols.dll | 9.0.3182.0 | 46,448 | 2007 年七月 10 日 | 04: 56 | x86 | | Fteref.dll | 12.0.7822.0 | 446,464 | 2007 年六月 22 日 | 09: 22 | x86 | | Infosoft.dll | 12.0.7822.0 | 468,328 | 2007 年六月 22 日 | 09: 22 | x86 | | Korwbrkr.dll | 12.0.7822.0 | 71,016 | 2007 年六月 22 日 | 09: 22 | x86 | | Langwrbk.dll | 12.0.7822.0 | 136,552 | 2007 年六月 22 日 | 09: 22 | x86 | | Microsoft.analysisservices.dll | 9.0.3182.0 | 1,217,904 | 2007 年七月 10 日 | 04: 56 | x86 | | Microsoft.sqlserver.maintenanceplantasks.dll | 9.0.3182.0 | 296,304 | 2007 年七月 10 日 | 04: 56 | x86 | | Msfte.dll | 12.0.7822.0 | 2,430,312 | 2007 年六月 22 日 | 09: 22 | x86 | | Msftefd.exe | 12.0.7822.0 | 66,920 | 2007 年六月 22 日 | 09: 22 | x86 | | Msftepxy.dll | 12.0.7822.0 | 95,592 | 2007 年六月 22 日 | 09: 22 | x86 | | Msftesql.exe | 12.0.7822.0 | 95,592 | 2007 年六月 22 日 | 09: 22 | x86 | | Msir5jp.dll | 5.0.2130.0 | 3,159,912 | 2007 年六月 22 日 | 09: 22 | x86 | | Msmdlocal.dll | 9.0.3182.0 | 15,948,144 | 2007 年七月 10 日 | 04: 56 | x86 | | Mssqlsystemresource.ldf | 不适用 | 524,288 | 2007 年七月 10 日 | 01: 45 | 不适用 | | Mssqlsystemresource.mdf | 不适用 | 40,108,032 | 2007 年七月 10 日 | 01: 45 | 不适用 | | Nlhtml.dll | 12.0.7822.0 | 124,264 | 2007 年六月 22 日 | 09: 22 | x86 | | Nls400.dll | 5.0.4217.0 | 12,240,744 | 2007 年六月 22 日 | 09: 22 | x86 | | Odsole70.dll | 2005.90.3182.0 | 59,248 | 2007 年七月 10 日 | 04: 56 | x86 | | Query.dll | 12.0.7822.0 | 48,488 | 2007 年六月 22 日 | 09: 22 | x86 | | Rdistcom.dll | 2005.90.3182.0 | 644,976 | 2007 年七月 10 日 | 04: 56 | x86 | | Replmerg.exe | 2005.90.3182.0 | 320,880 | 2007 年七月 10 日 | 04: 56 | x86 | | Replrec.dll | 2005.90.3182.0 | 784,752 | 2007 年七月 10 日 | 04: 56 | x86 | | Sqlaccess.dll | 2005.90.3182.0 | 350,576 | 2007 年七月 10 日 | 04: 56 | x86 | | Sqlagent90.exe | 2005.90.3182.0 | 349,552 | 2007 年七月 10 日 | 04: 56 | x86 | | Sqlservr.exe | 2005.90.3182.0 | 29,195,120 | 2007 年七月 10 日 | 04: 56 | x86 | | Sqlwep.dll | 2005.90.3182.0 | 90,992 | 2007 年七月 10 日 | 04: 56 | x86 | | Sqsrvres.dll | 2005.90.3182.0 | 70,512 | 2007 年七月 10 日 | 04: 56 | x86 | | Sysdbupg.sql | 不适用 | 510,622 | 2007 年六月 13 日 | 01: 18 | 不适用 | | Thawbrkr.dll | 12.0.7822.0 | 206,184 | 2007 年六月 22 日 | 09: 22 | x86 | | Xmlfilt.dll | 12.0.7822.0 | 197,992 | 2007 年六月 22 日 | 09: 22 | x86 | | Xpstar90.dll | 2005.90.3182.0 | 298,864 | 2007 年七月 10 日 | 04: 56 | x86 |
SQL Server 2005 年的 x 基于 x64 的版本收起该表格展开该表格 | 文件的名称 | 文件版本 | 文件大小 | 日期 | 时间 | 平台 |
|---|
| Chsbrkr.dll | 12.0.7822.0 | 1,694,056 | 2007 年六月 22 日 | 10: 51 | x64 | | Chtbrkr.dll | 12.0.7822.0 | 6,109,032 | 2007 年六月 22 日 | 10: 51 | x64 | | Databasemailprotocols.dll | 9.0.3182.0 | 46,448 | 2007 年七月 10 日 | 07: 51 | x86 | | Fteref.dll | 12.0.7822.0 | 433,152 | 2007 年六月 22 日 | 10: 51 | x64 | | Infosoft.dll | 12.0.7822.0 | 621,416 | 2007 年六月 22 日 | 10: 51 | x64 | | Korwbrkr.dll | 12.0.7822.0 | 101,736 | 2007 年六月 22 日 | 10: 51 | x64 | | Langwrbk.dll | 12.0.7822.0 | 236,904 | 2007 年六月 22 日 | 10: 51 | x64 | | Microsoft.analysisservices.dll | 9.0.3182.0 | 1,217,904 | 2007 年七月 10 日 | 04: 56 | x86 | | Microsoft.sqlserver.maintenanceplantasks.dll | 9.0.3182.0 | 296,304 | 2007 年七月 10 日 | 04: 56 | x86 | | Msfte.dll | 12.0.7822.0 | 3,808,104 | 2007 年六月 22 日 | 10: 51 | x64 | | Msftefd.exe | 12.0.7822.0 | 99,176 | 2007 年六月 22 日 | 10: 51 | x64 | | Msftepxy.dll | 12.0.7822.0 | 127,336 | 2007 年六月 22 日 | 10: 51 | x64 | | Msftesql.exe | 12.0.7822.0 | 158,568 | 2007 年六月 22 日 | 10: 51 | x64 | | Msir5jp.dll | 5.0.2130.0 | 3,421,544 | 2007 年六月 22 日 | 10: 51 | x64 | | Msmdlocal.dll | 9.0.3182.0 | 15,948,144 | 2007 年七月 10 日 | 04: 56 | x86 | | Mssqlsystemresource.ldf | 不适用 | 524,288 | 2007 年七月 10 日 | 01: 45 | 不适用 | | Mssqlsystemresource.mdf | 不适用 | 40,108,032 | 2007 年七月 10 日 | 01: 45 | 不适用 | | Nlhtml.dll | 12.0.7822.0 | 191,848 | 2007 年六月 22 日 | 10: 51 | x64 | | Nls400.dll | 5.0.4217.0 | 14,101,352 | 2007 年六月 22 日 | 10: 51 | x64 | | Odsole70.dll | 2005.90.3182.0 | 90,480 | 2007 年七月 10 日 | 07: 51 | x64 | | Query.dll | 12.0.7822.0 | 68,456 | 2007 年六月 22 日 | 10: 51 | x64 | | Rdistcom.dll | 2005.90.3182.0 | 828,784 | 2007 年七月 10 日 | 07: 51 | x64 | | Replmerg.exe | 2005.90.3182.0 | 417,648 | 2007 年七月 10 日 | 07: 51 | x64 | | Replrec.dll | 2005.90.3182.0 | 1,011,568 | 2007 年七月 10 日 | 07: 51 | x64 | | Sqlaccess.dll | 2005.90.3182.0 | 357,744 | 2007 年七月 10 日 | 07: 51 | x86 | | Sqlagent90.exe | 2005.90.3182.0 | 429,424 | 2007 年七月 10 日 | 07: 51 | x64 | | Sqlservr.exe | 2005.90.3182.0 | 39,679,344 | 2007 年七月 10 日 | 07: 51 | x64 | | Sqlwep.dll | 2005.90.3182.0 | 123,760 | 2007 年七月 10 日 | 07: 51 | x64 | | Sqlwep.dll | 2005.90.3182.0 | 90,992 | 2007 年七月 10 日 | 04: 56 | x86 | | Sqsrvres.dll | 2005.90.3182.0 | 83,312 | 2007 年七月 10 日 | 07: 51 | x64 | | Sysdbupg.sql | 不适用 | 510,622 | 2007 年六月 13 日 | 01: 18 | 不适用 | | Thawbrkr.dll | 12.0.7822.0 | 209,768 | 2007 年六月 22 日 | 10: 51 | x64 | | Xmlfilt.dll | 12.0.7822.0 | 271,208 | 2007 年六月 22 日 | 10: 51 | x64 | | Xpstar90.dll | 2005.90.3182.0 | 550,256 | 2007 年七月 10 日 | 07: 51 | x64 |
SQL Server 2005 Itanium 体系结构版本收起该表格展开该表格 | 文件的名称 | 文件版本 | 文件大小 | 日期 | 时间 | 平台 |
|---|
| Chsbrkr.dll | 12.0.7822.0 | 1,883,496 | 2007 年六月 22 日 | 10: 06 | IA 64 | | Chtbrkr.dll | 12.0.7822.0 | 6,153,576 | 2007 年六月 22 日 | 10: 06 | IA 64 | | Databasemailprotocols.dll | 9.0.3182.0 | 46,448 | 2007 年七月 10 日 | 13: 01 | x86 | | Fteref.dll | 12.0.7822.0 | 433,152 | 2007 年六月 22 日 | 10: 06 | IA 64 | | Infosoft.dll | 12.0.7822.0 | 1,915,240 | 2007 年六月 22 日 | 10: 06 | IA 64 | | Korwbrkr.dll | 12.0.7822.0 | 182,632 | 2007 年六月 22 日 | 10: 06 | IA 64 | | Langwrbk.dll | 12.0.7822.0 | 333,160 | 2007 年六月 22 日 | 10: 06 | IA 64 | | Microsoft.analysisservices.dll | 9.0.3182.0 | 1,217,904 | 2007 年七月 10 日 | 04: 56 | x86 | | Microsoft.sqlserver.maintenanceplantasks.dll | 9.0.3182.0 | 296,304 | 2007 年七月 10 日 | 04: 56 | x86 | | Msfte.dll | 12.0.7822.0 | 7,072,104 | 2007 年六月 22 日 | 10: 06 | IA 64 | | Msftefd.exe | 12.0.7822.0 | 173,416 | 2007 年六月 22 日 | 10: 06 | IA 64 | | Msftepxy.dll | 12.0.7822.0 | 135,528 | 2007 年六月 22 日 | 10: 06 | IA 64 | | Msftesql.exe | 12.0.7822.0 | 294,760 | 2007 年六月 22 日 | 10: 06 | IA 64 | | Msir5jp.dll | 5.0.2130.0 | 3,824,488 | 2007 年六月 22 日 | 10: 06 | IA 64 | | Msmdlocal.dll | 9.0.3182.0 | 49,907,056 | 2007 年七月 10 日 | 13: 01 | IA 64 | | Mssqlsystemresource.ldf | 不适用 | 524,288 | 2007 年七月 10 日 | 01: 45 | 不适用 | | Mssqlsystemresource.mdf | 不适用 | 40,108,032 | 2007 年七月 10 日 | 01: 45 | 不适用 | | Nlhtml.dll | 12.0.7822.0 | 295,784 | 2007 年六月 22 日 | 10: 06 | IA 64 | | Nls400.dll | 5.0.4217.0 | 14,750,056 | 2007 年六月 22 日 | 10: 06 | IA 64 | | Odsole70.dll | 2005.90.3182.0 | 179,568 | 2007 年七月 10 日 | 13: 01 | IA 64 | | Query.dll | 12.0.7822.0 | 123,240 | 2007 年六月 22 日 | 10: 06 | IA 64 | | Rdistcom.dll | 2005.90.3182.0 | 1,885,552 | 2007 年七月 10 日 | 13: 01 | IA 64 | | Replmerg.exe | 2005.90.3182.0 | 957,296 | 2007 年七月 10 日 | 13: 01 | IA 64 | | Replrec.dll | 2005.90.3182.0 | 2,145,136 | 2007 年七月 10 日 | 13: 01 | IA 64 | | Sqlaccess.dll | 2005.90.3182.0 | 352,112 | 2007 年七月 10 日 | 13: 01 | x86 | | Sqlagent90.exe | 2005.90.3182.0 | 1,254,256 | 2007 年七月 10 日 | 13: 01 | IA 64 | | Sqlservr.exe | 2005.90.3182.0 | 72,819,568 | 2007 年七月 10 日 | 13: 01 | IA 64 | | Sqlwep.dll | 2005.90.3182.0 | 221,040 | 2007 年七月 10 日 | 13: 01 | IA 64 | | Sqlwep.dll | 2005.90.3182.0 | 90,992 | 2007 年七月 10 日 | 04: 56 | x86 | | Sqsrvres.dll | 2005.90.3182.0 | 147,312 | 2007 年七月 10 日 | 13: 01 | IA 64 | | Sysdbupg.sql | 不适用 | 510,622 | 2007 年六月 13 日 | 01: 18 | 不适用 | | Thawbrkr.dll | 12.0.7822.0 | 253,288 | 2007 年六月 22 日 | 10: 06 | IA 64 | | Xmlfilt.dll | 12.0.7822.0 | 445,800 | 2007 年六月 22 日 | 10: 06 | IA 64 | | Xpstar90.dll | 2005.90.3182.0 | 966,000 | 2007 年七月 10 日 | 13: 01 | IA 64 |
要变通解决此问题,应避免使用 IN 关键字或 EXISTS 关键字。 Microsoft 已经确认这是在"适用于"一节中列出的 Microsoft 产品中的问题。 应用此修补程序后,您必须启用跟踪标记 4102 和跟踪标记 4118,以便该行为将恢复到 SQL Server 2000 中的行为。但是,我们建议您应用此修补程序之前,在"替代方法"部分中使用描述的方法。 为在服务器上的连接或服务器上的所有连接,则必须使用这些跟踪标志。如果在启动时设置跟踪标志,跟踪标志会影响服务器上的所有连接。 有关如何设置跟踪标志,请参阅下列主题中 SQL Server 2005 丛书联机的详细信息: - DBCC TRACEON (处理 SQL)
- 跟踪标志 (TRANSACT-SQL)
- DBCC TRACESTATUS (处理 SQL)
- 重大更改 SQL Server 2005 中的数据库引擎功能
有关命名 SQL Server 更新架构的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 822499
(http://support.microsoft.com/kb/822499/
)
Microsoft SQL Server 软件更新程序包的新命名架构 有关软件更新术语的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 824684
(http://support.microsoft.com/kb/824684/
)
用于描述 Microsoft 软件更新的标准术语的说明 文章编号: 940128 - 最后修改: 2007年11月21日 - 修订: 2.4 这篇文章中的信息适用于:- Microsoft SQL Server 2005 Developer Edition
- Microsoft SQL 2005 Server Enterprise
- Microsoft SQL Server 2005 Standard Edition
- Microsoft SQL Server 2005 Standard X64 Edition
- Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
- Microsoft SQL Server 2005 Enterprise X64 Edition
- Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
| kbmt kbautohotfix kbsql2005engine kbexpertiseadvanced kbfix kbpubtypekc kbqfe kbhotfixserver KB940128 KbMtzh |
机器翻译注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。 点击这里察看该文章的英文版: 940128
(http://support.microsoft.com/kb/940128/en-us/
)
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。 非常感谢!您的反馈将被用来改进我们的支持内容。更多的帮助选项,请访问 微软帮助和支持主页. | |