如何解决 SQL Server 性能问题

文章翻译 文章翻译
文章编号: 298475 - 查看本文应用于的产品
本文的发布号曾为 CHS298475
展开全部 | 关闭全部

本文内容

概要

若要解决性能问题,您必须完成一系列步骤隔离并确定问题的原因。可能原因包括:
  • 阻止
  • 系统资源争用
  • 应用程序设计问题
  • 查询或存储的过程具有长执行的时间
确定这些问题原因是通常非常耗时,并且您可能会花费几天评估收集的信息。复杂性性能分析并不特定于特定的数据库产品或操作系统。所有应用程序都受约束的性能限制由于资源、 设计或使用情况的因素。

有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
224587如何解决与 SQL Server 的应用程序性能
若要帮助确定并解决问题,收集以下信息在同一时间并将输出很容易地可用之前,请与 Microsoft 产品支持服务 (PSS):
  • 窗口阻止程序脚本输出
  • SQL 事件探查器跟踪日志
  • SQL Server 性能监视器日志
注意如果您不收集此信息时的性能出现问题,您可能需要收集所有这些信息。这可以延迟的故障排除过程。

发生此问题后,收集以下信息并让它可用:
  • sqldiag 报告
  • Microsoft Windows NT 系统和应用程序事件日志
PSS 在大多数情况下,需要了解此信息环境和性能问题的性质。如果任何一部分信息不可用,故障诊断过程可能长时间和识别性能问题可能会延迟。

即使您是当前没有遇到任何性能问题,Microsoft 建议实现这一过程。如果出现性能问题,您可以捕获尽可能快地所需的信息。此外,如果您捕获比较基准 SQL 事件探查器日志、 SQL Server 性能监视器日志和窗口阻止程序编写脚本时像预期的那样,应用程序的执行,您可以使用的信息进行比较时为应用程序不执行预期。

如果您收集此信息在高通讯量 SQL Server环境中,您可能会遇到某些性能下降。但是,您必须具有此信息来识别和问题的原因为了排除故障。SQL 事件探查器跟踪上具有最大的效用性能。如果性能严重下降,您可以自定义 SQL通过减少它捕获的事件类型的事件探查器跟踪。限制SQL 事件探查器跟踪应提供一些改进。如果您有疑问或问题设置和收集信息,请与 PSS 联系。

窗口阻止程序脚本输出

窗口阻止程序脚本是用于标识的阻塞情形的关键。但是,使用脚本的输出来解决性能问题阻止的情况下,即使问题不是一个问题。该输出还有助于为确定是否正在等待资源如文件 I/O、 查询或交易记录时,未提交或回滚像预期的那样。 有关详细信息有关实现窗口阻止程序脚本,单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
251004如何监视 SQL Server 7.0 阻止
271509 如何监视 SQL Server 2000年阻止

SQL 事件探查器跟踪日志

SQL 事件探查器跟踪捕获计算机上的活动运行 SQL Server。您可以使用此信息来标识慢速运行查询和非最佳执行计划。此外,SQL 事件探查器文档一系列性能问题之前发生的事件,并有助于确定其原因。

创建和实施的 SQL 事件探查器跟踪使用 GUI,请参阅以下 Microsoft 的"什么到监视器"部分知识文库文章:
224587 如何解决与 SQL Server 的应用程序性能
有关如何创建和执行 SQL 事件探查器的详细信息跟踪使用 ? SQL 命令,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
289742如何创建 SQL Server 7.0 跟踪
283790 如何创建 SQL Server 2000年跟踪
有关如何监视通过 SQL 事件探查器跟踪详细信息使用事务处理性 SQL 命令,单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
289279INF: 监控 SQL Server 7.0 跟踪方法
283786 如何监视 SQL Server 2000年跟踪
注意如果您有一个较大的工作负荷的 SQL 事件探查器跟踪,则可以使用索引优化向导。索引优化向导使用 SQL Server 查询优化程序来确定最佳的一组用于指定查询的索引。索引优化向导是一种非常有效的工具,以确定是否正确索引存在于数据库中。通过实施索引的向导建议,您可能能够提高您的应用程序的性能。

有关如何使用索引优化向导的详细信息,请参阅SQL Server 联机丛书中的"索引优化向导"主题。

SQL Server 性能监视器日志

SQL Server 通常受以下瓶颈:
  • CPU
  • 内存
  • 文件 I/O
  • 锁定、 阻塞或死锁
您可以使用 SQL Server 性能监视器确定这些SQL Server,可能会影响潜在的瓶颈。此外,您可以使用此日志当一个外部进程标识频繁使用运行 SQL 的计算机服务器和对 SQL Server 的性能造成负面影响。

在之前启动 SQL Server 性能监视器,请确保磁盘计数器上。若要执行此操作,请在命令提示符下运行diskperf 。如果磁盘计数器不上,运行diskperf-y ,然后重新启动计算机。

当您创建 SQL服务器性能监视器日志、 收集以下信息:
  • 页面文件
  • 进程
  • 处理器
  • SQL Server 的所有计数器
  • 内存
  • 线程
  • 逻辑磁盘
  • 物理磁盘
  • 系统
注意默认为 15 秒的间隔应足够长的时间来监视服务器。但是,对于某些计时问题,您可能需要减少的时间用于收集数据的时间间隔。

有关如何设置 SQL Server 性能详细信息监视日志,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
150934如何创建性能监视器日志为 NT 疑难解答
248345 如何创建 Windows 2000 中使用系统监视器日志


注意有关监视 SQL Server 2005 中的性能的详细信息,请参阅 SQL Server 2005 联机丛书中的"监视和优化的性能"主题。

sqldiag 实用程序

SQL Server 提供的 sqldiag 实用程序。它可以收集有关运行 SQL 的计算机的配置有价值的信息服务器、 操作系统和 SQL 到报告的信息服务器错误日志。有关如何使用 sqldiag 实用程序的信息,请参阅SQL Server 联机丛书中的"sqldiag 实用程序"主题。

有关如何运行详细信息sqldiag 上聚集的 SQL Server,单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
233332如何运行群集/虚拟 SQL Server SQLDIAG

注意在 SQL Server 2005,SQLdiag 实用程序发生显著更改。此实用程序的命令行参数不是与 SQL Server 2000年兼容的。此实用程序可能会发生更改,并且应用程序或脚本依赖于它的命令行参数或行为可能不起作用正确地在将来的版本。有关详细信息,请参阅 SQL Server 2005 联机丛书中的"SQLdiag 实用程序"主题。

Microsoft Windows NT 系统和应用程序事件日志

您可以使用 Windows NT 系统和应用程序事件日志找出您看不到其他数据中的问题。这些日志有助于提供完成服务器活动的视图,并提供一个更全面的了解在环境中。

这些文件的保存位置

下面的 Microsoft 文件交换 FTP 服务器允许您向发送和接收文件与 PSS 工程师:
ftp://ftppss.microsoft.com


对于详细信息,请阅读 Microsoft 文件提供的说明Exchange FTP 网站。




书签: 9

更多信息

?
收起该表格展开该表格
规则软件规则标题规则说明据此评估该规则的产品版本
系统中心顾问SQL Server 有可能会影响性能的多个活动跟踪系统中心顾问检查存在而不是当前捕获信息的默认跟踪的活动跟踪。如果有附加的跟踪正在运行,如果它们被保存在 UNC 路径中,并且它们捕获昂贵的电子将生成此警报通风孔。查看本文中的信息,并相应地采取纠正措施。SQL Server 2008
SQL Server 2008 R2
SQL Server 2012



属性

文章编号: 298475 - 最后修改: 2012年9月18日 - 修订: 2.0
这篇文章中的信息适用于:
  • Microsoft SQL Server 2000 标准版
  • Microsoft SQL Server 2000 64-bit Edition
  • Microsoft SQL Server 7.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 2005 Server Workgroup
关键字:?
kbhowtomaster kbinfo kbmt KB298475 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 298475
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