Posts Tagged ‘Sql Server Profiler’

关于SQL Server数据库的性能优化方法

星期五, 六月 21st, 2013 25 views

数据库优化是作为运维乃至DBA所必备的常规技能。
在本篇中我们将就SQL SERVER 2005进行说明,使用到的工具:

①Sql Server Profiler:用于服务器捕获sql server 2005事件及分析性能瓶颈。
②数据库引擎优化顾问:分析在一个或多个数据库中运行的工作负荷的性能效果,并给出优化建议和方法。

以上两个工具均为Sql Server 2005自带。

首先需要使用SQL Server Profiler进行数据库跟踪,通常这个时间为4-24个小时。
打开方法:SQL Server Management Studio中–>“工具”–>“sql server profilter”

如图:

新建一个数据库跟踪,使用模版的时候需要注意一下,不同的跟踪模版的应用范围是有区别的,官方阐述如下表

模板名称 模板用途
SP_Counts 捕获一段时间内存储过程的执行行为。
Standard 创建跟踪的通用起点。 捕获所运行的全部存储过程和 Transact-SQL 批处理。 用于监视常规数据库服务器活动。
TSQL 捕获客户端提交给 SQL Server 的所有 Transact-SQL 语句及其发出时间。 用于调试客户端应用程序。
TSQL_Duration 捕获客户端提交给 SQL Server 的所有 Transact-SQL 语句及其执行时间(以毫秒位单位),并按持续时间对其进行分组。 用于识别执行速度慢的查询。
TSQL_Grouped 捕获提交给 SQL Server 的所有 Transact-SQL 语句及其发出时间。 信息按提交语句的用户或客户端分组。 用于调查某客户端或用户发出的查询。
TSQL_Locks 捕获客户端与异常锁事件一起提交到 SQL Server 的 Transact-SQL 语句。 用于排除死锁、锁超时和锁升级事件的故障。
TSQL_Replay 捕获重播跟踪所需的 Transact-SQL 语句的详细信息。 用于执行迭代优化,例如基准测试。
TSQL_SPs 捕获有关执行的所有存储过程的详细信息。 用于分析存储过程的组成步骤。 如果您怀疑过程正在重新编译,请添加 SP:Recompile 事件。
Tuning 捕获有关存储过程和 Transact-SQL 批处理执行的信息。 用于生成跟踪输出,数据库引擎优化顾问可以将该输出用作工作负荷来优化数据库。

这里我们选择Standard 默认即可。
勾选保存到文件或数据库表,这里根据情况自行选择。

(更多…)