一、工具介绍
在实际开发中,我们的数据库应用系统因为不可避免会存在有大量表,视图,索引,触发器,函数,存储过程,sql语句等,所以会出现一系列问题,有问题不可怕,找对工具很重要。接下来我就介绍一款性能检测工具--SQL Server Profiler,它可以对sql运行情况进行跟踪,从而找出问题所在。
二、使用方法
1、打开工具
- 可以从开始菜单打开
- 也可以从数据库界面打开:
2、新建跟踪
a、点击:文件->新建跟踪
b、连接服务器,输入地址、账户名、密码
c、设置跟踪名称(常规选项)
名称可以随意取,如果使用多个跟踪时,需要唯一名字。
d、选择要跟踪的事件(事件跟踪选项)
设置完成后,单击“运行”按钮就可以了。
这里需要介绍一下列选择器的含义:
- ApplicationName: 创建 SQL Server 连接的客户端应用程序的名称。此列由该应用程序传递的值填充,而不是由所显示的程序名填充的;
- BinaryData: 依赖于跟踪中捕获的事件类的二进制值。
- ClientProcessID: 调用 SQL Server 的应用程序的进程 ID。
- CPU: 事件使用的 CPU 时间(毫秒)。
- Duration: 事件占用的时间。尽管服务器以微秒计算持续时间,SQL Server Profiler 却能够以毫秒为单位显示该值,具体情况取决于“工具”>“选项”对话框中的设置
- EndTime: 事件结束的时间。对指示事件开始的事件类(例如 SQL:BatchStarting 或 SP:Starting)将不填充此列。
- LoginName: 用户的登录名(SQL Server 安全登录或 Windows 登录凭据,格式为“域用户名”)
- NTusername: Windows用户名。
- Reads: 由服务器代表事件读取逻辑磁盘的次数。
- TextDate: 依赖于跟踪中捕获的事件类的文本值;
- SPID: SQL Server 为客户端的相关进程分配的服务器进程 ID。
- StratTime: 事件(如果可用)的启动时间。
- Writes: 由服务器代表事件写入物理磁盘的次数。
3、跟踪页面
单击运行后的页面,常用的就那些按钮 开始、暂停、停止、清楚跟踪记录等 。鼠标悬浮就会有中文提示。可以同时启动多个跟踪,同时跟踪不同的数据库和表,还可以配合 SQL的数据库引擎优化顾问 一起使用,可以分析出Sql语句性能,而且还会告诉你怎么修改会更好。
三、SQL Server Profiler的作用
- 对生产环境进行监视,以优化性能。
- 了解哪些存储过程由于执行速度太慢而影响了性能。
- 逐步分析有问题的语句并找到问题的原因。
- 捕获导致某个问题的一系列 Transact-SQL 语句。 然后用所保存的跟踪在某台测试服务器上复制此问题,接着在该测试服务器上诊断问题。
- 使性能计数器与诊断问题关联。
- SQL Server Profiler 还支持对 SQL Server 实例上执行的操作进行审核。 审核将记录与安全相关的操作,供安全管理员以后复查。