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

SQL Server 查询优化器修补程序跟踪标志 4199 服务模型

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.

重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。

点击这里察看该文章的英文版: 974006
简介
晚于 SQL Server 2000 Service Pack 3 (SP3) 传递到查询优化器在关闭默认状态以防止现有生产客户看到的大部分修补程序版本的 Microsoft SQL Server 预期计划更改可能会导致性能衰退。在第一、 在一个单独的跟踪标志下送达每个修补程序。以后这种做法已更改以便大多数标志下的单个跟踪标志 (4199) 组合在一起。这种新做法开始跨多个版本启动下列更新:
  • SQL Server 2005 Service Pack 3 (SP3) 累积更新 6
  • SQL Server 2008 Service Pack 1 (SP1) 累积更新包 7
  • SQL Server 2008 R2 (RTM)
跟踪标志 4199 用于收集打算成为上默认的即时修复程序的未来版本中而其他跟踪标记用于在的情况下这不是一个修复程序应当成为上--默认情况下当前窗体中。从 SQL Server 2016 RTM 的数据库 COMPATIBILITY_LEVEL 设置将使用的启用跟踪标志 4199 相关的修复程序在默认。本文介绍的技巧和策略如何影响计划的修补程序将提供有关 SQL Server 2016年及更高版本。
更多信息
在 SQL Server 2016,将成为跟踪标志 4199 修补程序对 SQL Server 的早期版本进行启用下启用跟踪标志 4199 没有的数据库 COMPATIBILITY_LEVEL 130。将使用跟踪标志 4199 释放数据库的任何未来 SQL Server 2016年修复程序通过使用 130 的兼容性级别。因为只看到特定的性能问题的客户建议跟踪标志 4199,建议客户去跟踪标志 4199 后它们将其数据库迁移到最新的兼容性级别因为跟踪标志 4199 会重新用于将来的修复程序可能不适用于您的应用程序和在生产系统上导致意外的计划性能变化。这意味着对于每个特定的产品版本支持的兼容性级别启用了不同跟踪标志 4199 修补程序。

注意:默认情况下会在 SQL Server 2016年中创建的数据库使用的兼容性级别 130 和具有已启用的新优化程序逻辑。

这种模型的主要优点是它在升级过程中降低了对生产系统的风险。这种方法分离开来新的主版本的 SQL Server 的安装的所有新的查询处理器更改自动启用。因为主版本升级更改的文件格式以及不可逆因为这将使客户能够快速降级如果在升级过程中发现意外的计划性能问题是使用 COMPATIBILITY_LEVEL 设置的一个好办法。如果客户发现意外的计划更改以阻止应用程序升级、 客户可以减轻这种情况通过应用适当 plan 提示使用查询存储区强制的事先计划或通过联系 Microsoft 客户支持以帮助解决问题提供解决方法或修复程序可以减轻这种情况。当所有问题都减少都了时,可以继续升级。客户应将此功能集成到其升级 SQL Server 2016 年规划。

下表说明了如何从 SQL Server 2016年开始工作跟踪标志 4199 的模型。

设置 SQL 兼容性级别跟踪标志 4199 在 SQL Server 2016 RTM 之前优化程序修补程序优化 SQL Server 2016 RTM 之后的修补程序
1 120关闭已禁用已禁用
2 120在上启用已禁用
3 130关闭兼容性级别启用已禁用
4。130在上兼容性级别启用兼容性级别启用
注意:对于新升级到 SQL Server 2016年的客户建议设置 3。

对于 SQL Server 2016年之后的主要发布 Microsoft 计划继续优化程序的即时修复程序使用此服务的模型。按默认值或每个版本,将下的兼容性级别启用以前版本中的任何跟踪标志 4199 修复。这意味着客户后他们将迁移到最新的兼容性级别的建议的状态将有 4199 禁用的跟踪标记。更高版本的修复程序将使用跟踪标志 4199 启用修补程序必须启用应用程序中的特定修补程序的客户。建议客户要禁用跟踪标志 4199 后应用程序升级到最新的兼容性级别以避免意外地在应用程序上启用意外将来优化程序更改。

注意:尽管很多优化程序修补程序启用跟踪标志 4199 下某些使用其他跟踪标志。跟踪标志 4199 以往被遮盖的跟踪标志的广泛适用的并且可能会在将来的版本中的默认情况下启用。其中的条件是特定于只有少数客户此修复程序可能会导致其他类型的应用程序性能衰退或内部功能可能看到的更改之前就可以成为为每个人启用修补程序中使用可选的跟踪标志。Microsoft 将继续根据需要使用其他跟踪标志产品提供服务。

注意:本文侧重于释放跟踪标记的模型上最新的产品的最新兼容级别 4199 修补程序。(在发布时这是 SQL Server 2016年。)在市场中的旧版的 SQL Server 上或在较低兼容性级别 (120 或以前) 的 SQL Server 2016年可能会发布优化程序的修补程序。Microsoft 将评估每个用例并确定是否使用跟踪标志 4199 或不同的跟踪标志。由于非修补程序更改都还启用时进行移动到更高版本的兼容性级别任何计划更改会 (和不带跟踪标志 4199) 在升级期间没有具体承诺。客户应始终测试变为仔细用于生产应用程序的兼容性级别和计划选择相关的性能问题时应使用如查询存储的缓解技术。

供参考下表列出了跟踪标志用于查询处理器跟踪标志 4199 面世之前的修复程序。
Microsoft 知识库文章跟踪标记
3185304101
9401284102
9199054103
9203464104
9203474105
9224384106
9238494107
9260244108
9267734109
9337244110
9340654111
9467934115
9508804116
9484454117
9426594119
9539484120
9424444121
9460204122
9482484124
9498544125
9590134126
9535694127
955694
957872
4128
9585474129
9566864131
9580064133
9607704135 *

SQL 2005 Server

此问题的修补程序首次发布累积更新 6 中的 SQL 服务器 2005 Service Pack 3。有关此累积更新包的详细信息请单击下面的文章编号以查看 Microsoft 知识库中相应的文章:
974648 累积更新包 6 个 SQL 服务器 2005 Service Pack 3
注意:因为版本具有累积性,所以每个新修补程序版本包含的所有修补程序,并附带上一个 SQL Server 2005 的所有安全修补程序的修补都程序版本。我们建议您考虑将应用包含此修复程序的最新的修补程序版本。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
960598 SQL Server 2005 版本发布之后发布 SQL 服务器 2005 Service Pack 3
为特定的 SQL Server 服务包创建 Microsoft SQL Server 2005年的修补程序。必须将一个 SQL 服务器 2005 Service Pack 3 修补程序应用到安装的 SQL 服务器 2005 Service Pack 3。默认情况下任何 SQL Server service pack 中提供的修补程序包含在下一次 SQL Server service pack。

SQL Server 2008

累积更新 7 中首次发布此问题的修补程序。有关如何获取此累积更新包的 SQL Server 2008 中,请单击下面的文章编号以查看 Microsoft 知识库中相应的文章:
973601 SQL Server 2008 年累积更新包 7
注意:因为版本具有累计性,所以每个新修补程序版本包含所有修补程序和附带上一个 SQL Server 2008 的所有安全修补程序的修补程序版本。我们建议您考虑将应用包含此修复程序的最新的修补程序版本。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
956909 在 SQL Server 2008 发布之后发布的 SQL Server 2008 生成

SQL Server 2008 SP1

此问题的修补程序首次发布的累积更新 7 为 SQL Server 2008 Service Pack 1。有关此累积更新包的详细信息请单击下面的文章编号以查看 Microsoft 知识库中相应的文章:
979065 对于 SQL Server 2008 Service Pack 1 的累积更新包 7
注意:因为版本具有累计性,所以每个新修补程序版本包含所有修补程序和附带上一个 SQL Server 2008 的所有安全修补程序的修补程序版本。我们建议您考虑将应用包含此修复程序的最新的修补程序版本。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
970365 在 SQL Server 2008 Service Pack 1 月发布之后发布的 SQL Server 2008年生成
为特定的 SQL Server 服务包创建 Microsoft SQL Server 2008年的修补程序。必须将一个 SQL Server 2008 Service Pack 1 的修补程序应用到安装的 SQL Server 2008 Service Pack 1。默认情况下任何 SQL Server service pack 中提供的修补程序包含在下一次 SQL Server service pack。

SQL Server 2008 R2

在 SQL Server 2008 R2 的发布版本中的跟踪标记 4135 无意中可以由-T4199 控制的跟踪标记的列表中省略。但此问题已修复累积更新 1 中的 SQL Server 2008 R2。因此为此生成和 SQL Server 2005 和 SQL Server 2008年支持的版本、-T4199 足以能够使这和这篇文章中列出的其他跟踪标志。

SQL Server 2012年及更高版本

跟踪标志 4199 包括在 SQL Server 2012年的发布版本和更高版本中。

如何启用跟踪标志 4199

您可以启用跟踪标志 4199 在启动时或在用户会话中。此跟踪标记具有全局级别或会话级的效果。若要启用跟踪标志 4199,使用 DBCC TRACEON 命令或使用– T 4199作为启动参数。

如果DBCC TRACEON\TRACEOFF使用这不重新生成存储过程高速缓存的新计划。计划可能是在没有跟踪标记的情况下创建的缓存中。

有关如何启用或禁用跟踪标记的详细信息以及有关全球和会话级别的跟踪标志的说明请参阅 SQL Server 联机丛书中的下列主题:
参考
有关更新 SQL Server 的命名架构单击下面的文章编号以查看 Microsoft 知识库中相应的文章:
822499 对于 Microsoft SQL Server 软件更新程序包的新命名方案
有关软件更新术语的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
824684 用来描述 Microsoft 软件更新的标准术语的说明

属性

文章 ID:974006 - 上次审阅时间:07/10/2015 01:45:00 - 修订版本: 7.0

Microsoft SQL Server 2005 Standard Edition, Microsoft SQL 2005 Server Enterprise, Microsoft SQL Server 2005 Standard X64 Edition, Microsoft SQL Server 2005 Enterprise X64 Edition, Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems, Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL 2005 Server Workgroup, Microsoft SQL Server 2008 Standard, Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 Workgroup, Microsoft SQL Server 2008 R2 Datacenter, Microsoft SQL Server 2008 R2 Developer, Microsoft SQL Server 2008 R2 Enterprise, Microsoft SQL Server 2008 R2 Express, Microsoft SQL Server 2008 R2 Standard, Microsoft SQL Server 2008 R2 Workgroup, Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Express, Microsoft SQL Server 2012 Standard, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Express, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2016 Developer, Microsoft SQL Server 2016 Enterprise, Microsoft SQL Server 2016 Standard

  • kbsurveynew kbexpertiseadvanced kbqfe kbfix kbmt KB974006 KbMtzh
反馈