监视和优化性能

适用于: SQL Server Azure SQL 数据库 Azure SQL 托管实例

监视数据库的目的是评估服务器的性能。 有效监视包括定期拍摄当前性能的快照来隔离导致问题的进程,以及连续收集数据来跟踪性能趋势。

日常数据库性能评估有助于使响应时间最小化并使吞吐量最大化,从而实现最佳性能。 有效网络流量、磁盘 I/O 和 CPU 使用率是实现最佳性能的关键。 您需要透彻地分析应用程序要求,了解数据的逻辑结构和物理结构,评估数据库使用情况,并协商使用 [如联机事务处理 (OLTP) 与决策支持] 冲突之间的平衡措施。

监视和优化数据库性能

Microsoft SQL Server 和 Microsoft Windows 操作系统提供实用工具,以便查看数据库的当前状态并跟踪性能的状态变化。 可使用多种工具和技术来监视 Microsoft SQL Server。 监视 SQL Server 有助于你:

  • 确定是否可以提高性能。 例如,通过监视常用查询的响应时间,可以确定是否需要更改表的查询或索引。

  • 评估用户活动。 例如,通过监视尝试连接到 SQL Server 实例的用户,可以确定安全设置是否充分以及是否需要测试应用程序或开发系统。 例如,通过在执行 SQL 查询时对其进行监视,可以确定这些查询是否编写正确并生成预期的结果。

  • 解决问题或调试应用程序组件(如存储过程)。

动态环境中的监视

更改条件会导致性能发生变化。 在评估中,您可以看到性能会随着用户数量增加、用户访问和连接方法改变、数据库内容增加、客户端应用程序改变、应用程序中的数据变化、查询变得更加复杂以及网络流量上升而变化。 通过使用工具来监视性能,帮助你将性能的变化与条件和复杂查询的变化相关联。 示例:

  • 通过监视常用查询的响应时间,可以确定是否需要更改查询或执行查询的表上的索引。

  • 通过在执行 Transact-SQL 查询时对其进行监视,可以确定这些查询是否编写正确并生成预期的结果。

  • 通过监视试图连接到 SQL Server 实例的用户,可以确定安全设置是否得当并测试应用程序或开发系统。

响应时间是指以可视确认信息(指出正在处理查询)的形式将结果集的首行返回给用户所需的时间。 吞吐量是指在一段给定时间内,服务器处理的查询总数。

随着用户数量的增加,对服务器资源的竞争也会更激烈,进而导致响应时间增加和总体吞吐量减少。

监视和性能优化任务

主题 任务
监视 SQL Server 组件 监视任何 SQL Server 组件所需的步骤,如活动监视器、扩展事件、动态管理视图和函数等。
性能监视和优化工具 列出随 SQL Server 提供的监视和优化工具,如实时查询统计信息和数据库引擎优化顾问。
使用查询优化助手升级数据库 升级到更新的数据库兼容级别期间保持工作负荷性能稳定性。
使用查询存储来监视性能 使用查询存储将自动捕获查询、计划和运行时统计信息的历史记录,并保留它们以供查阅。
建立性能基线 如何建立性能基线。
隔离性能问题 隔离数据库性能问题。
识别瓶颈 监视和跟踪服务器性能,以发现瓶颈。
使用 DMV 来确定视图的使用情况统计信息和性能 本文介绍了一些方法和脚本,用于获取查询性能的相关信息。
服务器性能和活动监视 使用 SQL Server 和 Windows 性能和活动监视工具。
监视资源使用情况 使用系统监视器(也称为 perfmon)通过性能计数器来度量 SQL Server 的性能。

另请参阅

企业范围的自动化管理
比较和分析执行计划
显示和保存执行计划