你目前正处于脱机状态,正在等待 Internet 重新连接

FIX: 您可能会注意到在编译时启用 SQL Server 2005 Service Pack 1 中的跟踪标志 2389年和 2390年时大幅增加

Extended support for SQL Server 2005 ends on April 12, 2016

If you are still running SQL Server 2005 after April 12, 2016, you will no longer receive security updates and technical support. We recommend upgrading to SQL Server 2014 and Azure SQL Database to achieve breakthrough performance, maintain security and compliance, and optimize your data platform infrastructure. Learn more about the options for upgrading from SQL Server 2005 to a supported version here.

注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。

点击这里察看该文章的英文版: 922063
错误 #: 984 (SQL 修补程序)
错误 #: 441938 (SQLBUDT)
注意
Microsoft 将 Microsoft SQL Server 2005 修补程序分发作为一个可下载的文件。因为该修补程序是累积性的因此每个新版本包含的所有修补程序和所有安全修补程序附带以前 SQL Server 2005 修补都程序版本。
本文介绍以下有关此修补程序版本:
  • 通过此修补程序包修复的问题
  • 安装此修补程序包的先决条件
  • 有关在安装此修补程序包后是否必须重新启动计算机的信息
  • 有关此修补程序包是否替换任何其他修补程序包的信息
  • 有关是否必须进行任何注册表更改的信息
  • 修补程序包中包含的文件
症状
请考虑以下情形。您正在运行 SQL Server 2005 Service Pack 1 (SP1)。启用跟踪标记 2389年和 2390 来启用的升序键的自动生成快速统计信息。在这种情况下,您可能会遇到以下行为:
  • 您会注意到在编译时大幅增加。
  • SQL Server 不会生成一个有效的查询计划,因为无法确定正确的最大值的列。
原因
出现此问题的原因是 SQL Server 执行相应的列的扫描。这种扫描所用的额外的编译时间。
解决方案
可以从 Microsoft 获得支持的修补程序。但是,此修补程序被用于解决本文所述的此问题。此修补程序仅应用于出现这一特定问题的系统。此修补程序可能会接受进一步的测试。因此,如果此问题没有对您造成严重的影响,我们建议您等待包含此修补程序的下一个软件更新。

是否可供下载此修补程序没有"提供修补程序下载"部分中,在这篇知识库文章的顶部。如果不会显示此部分,请联系 Microsoft 客户服务和支持以获取此修复程序。

注意如果出现其他问题,或者如果需要进行任何故障诊断,则您可能不得不创建单独的服务请求。将正常收取支持费用将应用于其他支持问题和不需要进行此特定的修补程序的问题。有关完整列表的 Microsoft 客户服务和支持的电话号码,或创建一个单独的服务请求,请访问下面的 Microsoft 网站:注意"提供修补程序下载"窗体所显示的此修复程序是可用的语言。如果您看不到您的语言,则是一个修复程序不能用于该语言。

系统必备组件

您必须具有 SQL Server 2005 Service Pack 1 (SP1) 要应用此修补程序安装。

有关如何获取 SQL Server 2005 SP1 的详细信息单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
913089如何获取最新的 service pack,SQL Server 2005 年

重新启动信息

您不必在应用此修补程序后,重新启动计算机。

注册表信息

您不必更改注册表。

修补程序文件信息

此修补程序仅包含那些文件解决本文列出了该问题所必需的。此修补程序可能不包含将产品完全更新到最新版本所必需的所有文件。

此修补程序的英文版具有的文件属性 (或更新的文件属性) 在下表中列出。日期和时间对这些文件列出在协调世界时 (UTC)。当您查看文件信息时,将转换为本地时间。若要 UTC 与本地时间之间的时差使用控制面板中的日期和时间项中的 时区 选项卡。
SQL Server 2005 32年-位版本
文件的名称文件版本文件大小日期时间平台
Msgprox.dll2005.90.2174.0197,9202006 年七月 17 日20: 03x86
Msmdlocal.dll9.0.2174.015,701,7922006 年七月 17 日20: 04x86
Msmdredir.dll9.0.2174.03,967,7762006 年七月 17 日20: 03x86
Replprov.dll2005.90.2174.0547,6162006 年七月 17 日20: 05x86
Replrec.dll2005.90.2174.0782,1122006 年七月 17 日20: 02x86
Sqlaccess.dll2005.90.2174.0347,9362006 年七月 17 日20: 03x86
Sqlservr.exe2005.90.2174.028,951,8962006 年七月 17 日20: 04x86
Xpstar90.dll2005.90.2174.0292,1282006 年七月 17 日20: 03x86
SQL Server 基于 2005 x x64 版本
文件的名称文件版本文件大小日期时间平台
Msgprox.dll2005.90.2174.0259,3602006 年七月 18 日08: 05x64
Msmdlocal.dll9.0.2174.015,701,7922006 年七月 17 日20: 04x86
Msmdredir.dll9.0.2174.03,967,7762006 年七月 17 日20: 03x86
Replprov.dll2005.90.2174.0745,2482006 年七月 18 日08: 06x64
Replrec.dll2005.90.2174.01,008,4162006 年七月 18 日08: 04x64
Sqlaccess.dll2005.90.2174.0355,1042006 年七月 18 日08: 05x86
Sqlservr.exe2005.90.2174.039,351,0722006 年七月 18 日08: 05x64
Xpstar90.dll2005.90.2174.0539,9362006 年七月 18 日08: 05x64
SQL Server 2005 Itanium 体系结构版本
文件的名称文件版本文件大小日期时间平台
Msgprox.dll2005.90.2174.0542,4962006 年七月 17 日22: 38IA 64
Msmdlocal.dll9.0.2174.048,828,7042006 年七月 17 日22: 39IA 64
Msmdredir.dll9.0.2174.06,154,0162006 年七月 17 日22: 39IA 64
Replprov.dll2005.90.2174.01,617,1842006 年七月 17 日22: 39IA 64
Replrec.dll2005.90.2174.02,141,4722006 年七月 17 日22: 39IA 64
Sqlaccess.dll2005.90.2174.0349,4722006 年七月 17 日22: 38x86
Sqlservr.exe2005.90.2174.072,235,2962006 年七月 17 日22: 40IA 64
Xpstar90.dll2005.90.2174.0950,0482006 年七月 17 日22: 36IA 64
状态
Microsoft 已经确认这是在"适用于"一节中列出的 Microsoft 产品中的问题。
更多信息
按升序键列会导致频繁的插入操作的表中的不准确的统计信息。这些键的列可能表示实际的时间戳的 日期时间 列或标识列。应用程序是在其中的数据通常 ascends 的情况下某些 SQL Server 的常见的问题。例如对于您有一个包含一个 日期时间 列的表和列中值,该值代表当前日期。SQL Server 生成假定的数据将被主要类似在将来的统计信息。但是时数据通常 ascends,, 最新的插入内容将是以前找到的范围内。要创建的差计划,这种情况可能会引起。选择新的数据的筛选器可以排除整个关系,即使包含大量的行。

跟踪标志 2389年和 2390年均 SQL Server 2005 SP1 中的新。这些跟踪标志可帮助解决此问题。SQL Server 2005 SP1 跟踪由后续的统计信息更新的列的性质。当 SQL Server 确定统计增加三次时,列被品牌升序。如果满足下列条件,则返回 true,将会在查询编译时自动更新统计信息:
  • 设置跟踪标志 2389年。
  • 列是按升序品牌的。
  • 覆盖索引存在升序列中为前导的键。
一条语句编译为查找最高值和新步骤添加到现有直方图到模型最近添加的数据的末尾。

即使不知道列的升序性质,跟踪标记 2390年使跟踪标志 2389,相同的行为。只要该列是索引中的前导列,优化程序将更新查询编译时具有最高值的统计信息。永远不会使用跟踪标记 2390年单独因为只要称为列的升序性质,此逻辑将被禁用。

若要可为已知的升序键的自动生成快速统计运行下面的语句:
DBCC TRACEON ( 2389, -1 )
启用自动生成快速统计信息的所有列包含的已知键按升序或未知的升序键都运行下面的语句:
DBCC TRACEON ( 2389, 2390, -1 )
也可以使用该 -T Sqlservr.exe 启用这些两个跟踪标记服务器范围内的命令行开关。有关详细的信息,请访问下面的 Microsoft 开发人员网络 (MSDN) 的网站:有关命名 Microsoft SQL Server 更新架构的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
822499Microsoft SQL Server 软件更新程序包的新命名架构
有关软件更新术语的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
824684用于描述 Microsoft 软件更新的标准术语的说明

属性

文章 ID:922063 - 上次审阅时间:03/13/2009 17:25:13 - 修订版本: 2.0

Microsoft SQL Server 2005 Service Pack 1

  • kbmt kbautohotfix kbexpertiseadvanced kbtshoot kbfix kbsql2005engine kbhotfixserver kbqfe kbpubtypekc KB922063 KbMtzh
反馈