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

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

本页

简介

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

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

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

更多信息

跟踪标志 652: 禁用页 pre-fetching 扫描

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

跟踪标志 661: 禁用幻影记录删除进程

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

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

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

跟踪标记 834 会导致 SQL Server Microsoft Windows 大页分配用于分配用于缓冲池内存。页面大小而异的硬件平台,但页面大小可能为 16 MB 到 2 MB。大的页面会在启动时分配并保留整个进程的生存期。跟踪标记 834 提高转换旁视缓冲区 (TLB) CPU 中的效率,改善了性能。

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

跟踪标记 834 可能会阻止服务器启动内存碎片化,并且不能分配大的页面。因此,跟踪标记 834 是最适合于专用于 SQL Server 的服务器。

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

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

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

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

跟踪标记 836 仅适用于已启用 AWE 分配的 32 位版本的 SQL Server。您可以打开跟踪标志 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 将使用工作集的大小。跟踪标志 8020 SQL Server 解释的全局内存状态信号时,考虑移除工作集的大小。如果错误地使用此跟踪标记,出现大量分页,以及性能较差。打开跟踪标志 8020 之前,因此,与 Microsoft 技术支持联系。

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

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

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

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

参考

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

属性

文章编号: 920093 - 最后修改: 2012年11月1日 - 修订: 1.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
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 920093
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈