当在高性能的工作负载运行 SQL Server 的优化选项

文章翻译 文章翻译
文章编号: 920093 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

简介

本文介绍了各种跟踪标志作为优化 Microsoft SQL Server 2005年和 SQL Server 2008年中的选项。您可以使用这些跟踪标记提高 SQL Server 的性能。通常情况下,SQL Server 运行在高性能的工作负载时使用这些跟踪标志。

注意本文介绍了跟踪标志被高级优化技术。您应该考虑做更多的是基本和日常优化之后才使用这些跟踪标志。例如,应考虑使用这些跟踪标志后执行以下优化:
  • 索引分析
  • 平衡 I/O
  • SQL 查询分析
  • 监视的系统统计信息
此外,这些跟踪标志的主要具有以下特征的高端服务器上有用:
  • 很多的 Cpu,例如,多于 8 个 Cpu
  • 大量的主内存中,例如,多个 8 千兆字节 (GB) 的内存
  • 高 I/O 速率,例如,每秒或超过 500 兆字节 (MB) 每秒 10000 多台物理 I/O
本文介绍了跟踪标志可能会降低某些工作负载下的性能。我们建议您在部署在生产环境中的任何更改之前,先评估您在测试系统上的工作负载的影响。

注意这篇文章中的信息也适用于 SQL Server 2008 R2 的 CTP 版本。

更多信息

跟踪标志 652: 禁用页获取预扫描

跟踪标志 652 禁用页预取扫描过程。您可以打开跟踪标志 652 在启动时或在用户会话。当您打开跟踪标志 652 在启动时,跟踪标记具有全局范围。当您打开跟踪标志 652 用户会话中时,跟踪标记具有会话作用域。如果您打开跟踪标志 652,SQL Server 不会再将数据库页到缓冲池中之前这些数据库页所使用的扫描。如果您打开跟踪标志 652,查询从页面预先获取功能中获益,表现出低性能。

跟踪标志 661: 禁用虚影记录的删除过程

跟踪标志 661 禁用虚影记录的删除过程。虚影记录是删除操作的结果。当您删除记录时,为虚影记录保留已删除的记录。以后,通过虚影记录的删除过程清除已删除的记录。当您禁用了此过程时,则不会清除已删除的记录。因此,已删除的记录占用的空间不会被释放。此行为会影响磁盘空间占用量和扫描操作的性能。

跟踪标志 661 在启动时或在用户会话中打开时,跟踪标记 661 始终适用于服务器,并具有全局作用域。如果您关闭此跟踪标记时,虚影记录删除正确处理的工作原理。

跟踪标志 834: 使用 Microsoft Windows 大页面缓冲池分配

跟踪标志 834 会导致 SQL Server 使用 Microsoft Windows 大页分配用于缓冲池分配内存。页面大小取决于硬件平台,但页面大小可能是 2 MB 到 16 MB。大页面会在启动时分配,并将保留在进程的生存期。跟踪标志 834 提高 CPU 的翻译视缓冲区 (TLB) 的效率,改善了性能。

跟踪标志 834 仅适用于 64 位版本的 SQL Server。您必须在内存中的锁定页的用户权限打开跟踪标志 834。您可以打开跟踪标志 834 只在启动。

跟踪标志 834 可能导致服务器无法启动如果内存碎片化,并且不能分配大的页面。因此,跟踪标记 834 是最适合于专用于 SQL Server 的服务器。

注意如果您使用的 SQL Server 2012年的列存储索引功能,我们不建议打开跟踪标志 834。

有关在 Windows 中的较大页面支持的详细信息,请访问下面的 Microsoft 开发人员网络 (MSDN) Web 站点:
http://msdn2.microsoft.com/en-us/library/aa366720.aspx

跟踪标志 836: 用于缓冲池的最大服务器内存选项

跟踪标志 836 导致 SQL Server 在启动时 (而不是最大服务器内存选项的值所基于的缓冲池基于总物理内存的大小。您可以使用跟踪标志 836 以减少在 32 位地址窗口化扩展插件 (AWE) 模式下启动时分配的缓冲区描述符数。

跟踪标志 836 仅适用于 32 位版本的 SQL Server 已启用了 AWE 分配。您可以打开跟踪标志 836 只在启动。

跟踪标志 2301年: 启用高级决策支持优化

跟踪标志 2301年启用特定于决策支持查询的高级的优化。此选项适用于决策支持大型数据集的处理。


您可以打开跟踪标志 2301年在启动时或在用户会话。当您打开跟踪标志 2301年在启动时,跟踪标记具有全局范围。当您打开跟踪标志 2301年用户会话中时,跟踪标记具有会话作用域。

禁用各种环形缓冲区的跟踪标记

环形缓冲区是可用于记录有关服务器的其他信息的 SQL Server 中的内部诊断机制。通常情况下,您可以使用此信息来解决服务器问题。可以通过使用sys.dm_os_ring_buffers动态管理视图来浏览环形缓冲区的内容。

通常禁用环形缓冲区可以提高性能。但是,禁用环形缓冲区消除了诊断信息,Microsoft 技术支持使用,可能会阻止您成功地解决问题。

以下跟踪标志禁用各环缓冲区。

跟踪标志 8011: 资源监视器时禁用环形缓冲区

跟踪标志 8011 禁用其他诊断信息,资源监视器的集合。可以使用此环形缓冲区中的信息来诊断内存不足的情况。跟踪标志 8011 始终应用于该服务器,并具有全局作用域。您可以打开跟踪标志 8011 在启动时或在用户会话。

跟踪标志 8012: 禁用计划程序的环形缓冲区

每次发生以下事件之一时,SQL Server 计划环形缓冲区中记录一个事件:
  • 计划程序上下文切换到另一个工作人员。
  • 工作人员将被挂起。
  • 而继续工作。
  • 工作人员输入优先模式或非优先的模式。
可以使用此环形缓冲区中的诊断信息分析计划的问题。例如,可以在此环形缓冲区中使用信息来解决问题,当 SQL Server 停止响应。

有关计划程序跟踪标志 8012 禁用记录的事件。您可以打开跟踪标志 8012 只在启动。

跟踪标志 8018: 禁用异常环形缓冲区
跟踪标志 8019: 禁用堆栈收集有关异常的信号缓冲区

异常的信号缓冲区记录在一个节点引发的最后一个 256 异常。每个记录都包含一些有关错误的信息,并且包含一个堆栈跟踪。当引发异常时,将记录添加到环形缓冲区。

跟踪标志 8018 禁用的环形缓冲区中,创建和记录无异常信息。跟踪标志 8019 禁用堆栈集合记录创建过程。如果启用了跟踪标志 8018 跟踪标志 8019 不起作用。禁用异常环形缓冲区,使得更难以诊断与内部服务器错误相关的问题。您可以打开跟踪标志 8018 和只在启动跟踪标志 8019。

跟踪标志 8020: 禁用工作集中监视

SQL Server 解释从操作系统的全局内存状态信号时,SQL Server 将使用工作集的大小。当 SQL Server 会将全局内存状态信号的解释,跟踪标记 8020 考虑删除工作集的大小。如果不正确地使用此跟踪标记时,出现大量分页,和性能较差。因此,与 Microsoft 技术支持,然后打开跟踪标志 8020。

您可以打开跟踪标志 8020 只在启动。

跟踪标志 8744: 禁用预取的范围

跟踪标志 8744 禁用预取Nested Loops运算符。当 SQL Server 执行计划,它们包括Nested Loops运算符时,此跟踪标记的使用不正确可能会导致其他物理读取。有关Nested Loops运算符的详细信息,请参阅 SQL Server 2005 联机丛书中的"逻辑和物理运算符参考"主题。

您可以打开跟踪标志 8744 在启动时或在用户会话。当您打开跟踪标志 8744 在启动时,跟踪标记具有全局范围。当您打开跟踪标志 8744 用户会话中时,跟踪标记具有会话作用域。

下表提供了有关产品或工具的自动检查所描述的"症状"一节中您的 SQL Server 的实例和版本的 SQL Server 对规则进行评估所依据的条件的详细信息。

收起该表格展开该表格
规则软件规则标题规则说明对规则进行评估所依据的产品版本
系统中心顾问列存储索引的 SQL Server 并跟踪标志 834 可能导致服务器的不稳定性此 SQL Server 实例中顾问检测和跟踪标志 834 (大页面缓冲池) 的一个或多个列存储索引的状态。这会导致服务器不稳定。我们建议不要启用此跟踪标记时使用的存储区的列的索引。SQL Server 2012


参考

有关如何打开或关闭跟踪标志,有关全局跟踪以及会话跟踪标志的详细信息,请参阅 SQL Server 2005 联机丛书中的下列主题:
  • DBCC TRACEON (事务处理 SQL)
  • 跟踪标记 (事务处理性的 SQL)
  • DBCC TRACESTATUS (事务处理 SQL)
  • 在 SQL Server 2005 中的数据库引擎功能的重大更改

属性

文章编号: 920093 - 最后修改: 2014年1月4日 - 修订: 2.0
这篇文章中的信息适用于:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Express Edition with Advanced Services
  • Microsoft SQL 2005 Server Workgroup
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Express with Advanced Services
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2012 Express
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Standard
关键字:?
kbexpertiseadvanced kbsql2005engine kbsql2005tsql kbinfo kbmt KB920093 KbMtzh
机器翻译
重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。
点击这里察看该文章的英文版: 920093
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com