监视SQL SERVER

  • 概述

1)、监视SQL SERVER 目标:

ü 优化SQLServer 的应用程序

及时、准确、完整地向应用程序提供高质量的数据

ü 最小化用户执行查询的响应时间

ü 最大化系统的吞吐量

吞吐量是指单位时间内处理的查询语句的数量

ü 检查数据的一致性等

2)、影响系统性能的因素

ü 服务器硬件类

ü 操作系统类

ü 网络类

ü SQL Server 系统类

ü 数据库应用程序类

ü 客户应用程序类

  • 性能监视和调整的策略框架

ü 制订监视和调整系统的策略

ü 选择调整性能的方案

ü 开发性能监视和调整的具体方法

ü 建立系统的性能基线

ü 检测性能的瓶颈

ü 了解通常的监视任务

1)、制订监视和调整系统的策略

在制定策略时,可以从这两方面考虑:

ü 优化响应时间

在了解应用程序、运行环境用户使用方式以及所操作数据的特点之后,采取合适的措施,降低查询语句的相应时间。

ü 优化吞吐量

掌握SQL Server 是如何访问数据的、如何控制并发活动等知识。

2)、选择调整性能的方案

ü 调整客户端的应用程序性能

优化SQL 语句、使用存储过程

创建必要的索引

最小化锁的应用

ü 调整数据库性能,降低查询语句的相应时间

重新定义数据库的逻辑设计和物理设计

ü 调整SQLServer 性能

调整SQL Server 配置

ü 调整硬件配置

增加更多的内存、提高处理器的能力

使用更快的硬件系统

提高网络的效率

3)、开发性能监视和调整的具体方法

ü 系统设计时应考虑:

分析和理解用户需求

了解数据结构和使用方式,设计合理的数据库结构

设计使用哪些索引和如何实现这些索引

ü 在确定性能调整计划时应考虑:

合理定义服务器操作时使用的各种性能参数

确定性能问题

建立性能基线

4)、建立系统的性能基线

ü 性能基线是监视和调整性能的基础和根据

ü 在建立系统的性能基线时,主要因素为:

系统负荷:服务器活动的数量

吞吐量:在给定时间内系统处理的查询语句的数量

系统资源:计算机的硬件能力

优化:应用程序和数据库的设计

并发行:数据的并发使用状况

5)、检测性能的瓶颈

ü 内存的使用状况

ü CPU 的使用状况

ü 磁盘读入/写入的性能

ü 用户的连接数量

ü 查询语句和锁的使用状况等

6)、了解通常的监视任务

ü 系统级性能检测。整个计算机硬件和软件环境的性能,例如:是否有足够的内存、系统发生的错误原因等。可使用的性能检视工具包括:

Windows 事件查看器

Windows 系统监视器

ü SQL Server 级性能检测。与 SQL Server 系统的活动有关的性能,包括系统的并发操作、数据库一致性等。可使用的性能检视工具包括:

Transact-SQL 语句

系统存储过程

SQL Server Profiler

标准审核和C2 审核

ü 查询语句性能。与特定查询语句相关的性能,例如索引的使用情况、CPU 的占用时间以及数据的读入/写出等。可使用的性能检视工具包括:

SQL 查询分析器

索引优化向导

SQL Server Profiler

  • 使用活动监视器

服务器 → 右键 → 活动监视器

进程:用于显示当前SQL SERVER 运行的进程

资源等待:显示资源等待情况

数据文件I/0 及最近耗费大量资源的查询:

数据文件I/0:显示数据库文件输入输出信息

耗费大量资源的查询:用于显示较耗资源查询信息

  • WINDOWS 性能监视器:

打开WINDOWS 开始 → 管理工具 → 性能监视器

新建一个数据收集器集

数据收集器集 → 用户自定义 → 新建 → 数据收集器集

--1、命名

--2、收集内容

--3、添加需监视的计数器

--4、保存目录

--5、当创建好后,选中刚定义的计数器,点击开始收集

打开刚定义的计数器监视文件:

常用的监视系统性能的监视器:

  • SQL SERVER PROFILER

单击开始程序―Microsoft SQL Server 2005性能工具选择

―SQL ServerProfiler

SQL Server Management Studio 中,从工具菜单中选择 ―SQLServer

Profiler

A、新建跟踪

新建跟踪步骤:

ü 启动SQL Server Profiler ,单击新建跟踪按钮

ü 使用连接到服务器对话框连接要跟踪的服务器

ü 在出现的跟踪属性对话框中,进行相关的设置

ü 完成设置后,单击运行按钮来启动跟踪

配置跟踪名称及保存目录:

配置跟踪事件:

运行效果:

  • 数据库引擎优化顾问:

汇总:

--1. 性能监视过程:首先要排除因为事物死锁导致的问题,然后是数据组织不合理导致硬盘I/O 过多的问题,接着是考虑是否内存过小导致硬盘I/O 过多的问题,下一步是排除查询不优化的性能问题,最后是排除CPU 性能过低的问题。

--2. 监视工具有SQL server 活动监视器、性能监视器、SQL Server profiler活动监视器显示活动的摘要信息,通过活动监视器可以发现活动是否被堵塞而导致性能低下,可以发现正在运行的活动占用的内存情况、磁盘I/O 的情况。

系统监视器不仅可以监视整个系统的情况,而且可以监视运行的SQL server 实例运行的情况

SQL Server profiler 可以跟踪SQL server 和数据库的活动,如账户登陆、用户和应用程序的活动,数据管理员还可以将捕获的数据保存到一个表或文件中以便于以后分析,。Profiler 不仅可以用来分析性能也可以起到安全审核的作用。

默认情况下,用户运行SQL Server profiler 所需的权限与执行创建跟踪的Transact-SQL存储过程所需的权限相同,用户必须要有Alter Trance 的权限。

--3. 数据库引擎优化顾问

引擎优化顾问时要求首先输入工作负荷文件,其文件可以是优化的SQL 语句或者SQLprofiler 跟踪文件或者表数据。可以在运行引擎优化顾问之前,使用SQL Profiler 记录一些事件,然后将跟踪结果存储为文件以供数据库引擎优化顾问使用。