SQL Server Profiler
SQL Profiler是一个可视化工具,可以通过以下两种方式打开:
- 电脑开始菜单→Microsoft SQL Server Tools →SQL Server Profiler
- 打开Microsoft SQL Server Management Studio应用程序→工具→SQL Server Profiler
打开后,即可定义跟踪模版,设置需要监控的事件、字段,对监控对象进行功能筛选了。
1.新建跟踪,选择跟踪模板
如下图,在进入SQL Server Profiler后,根据自己的实际情况连接到服务器,创建新的跟踪前,需要对跟踪属性进行配置。配置内容包括基本信息、模板的选择、跟踪结构的保存位置,以及跟踪的持续时间。
1.1 跟踪的基本信息(常规)
1.1.1 基本信息有如下几个。
- 跟踪名称(Trace Name):表示当前跟踪的名称,在多个跟踪同时运行时,良好的命名可以避免混淆。
- 跟踪提供程序名称(Trace provider name):表示当前的实例名称。
- 跟踪提供程序类型(Trace provider type):表示当前跟踪的数据库信息。
- 版本(version):表示当前服务器的版本。
- 保存到文件:保存一个类型为SQL Server Profiler跟踪文件(*.trc)。
- 保存到表:保存到数据库的表,将监控结果保存在指定数据库的表中,以便于在数据监控结束后进行数据的汇总和分析。
- 启用跟踪停止时间:跟踪的持续时间。由于跟踪功能会给服务器的正常运行带来一定的压力,因此,为了避免长时间的trace带来性能影响,要尽量缩短跟踪的时间。同时,设置跟踪持续时间,也便也DBA对跟踪时间进行控制。
1.1.2 跟踪模板的创建与导入
选择预设的模板,可以将预设好的跟踪事件、字段与其他相关的筛选信息等加载进来,该模板提供了方便的预设功能。新建模板可以通过在SQL Server Profiler菜单中的文件下拉模板→新建模板来进行配置。
1.2 事件选择
在配置完跟踪的基本信息后,可以切换到时间选择(Event Selection)Tab页,对需要跟踪的时间进行配置,下图为事件选择页面,勾选右下角的“显示所有事件(Show all events)”,即可看到所有相关的事件。
事件的选择,包括以下几个大方面。
- Database:跟踪监视数据库的增长、收缩,以及数据库镜像的连接等。(包括自动增大或收缩数据文件或日志文件时生产的时间类)。
- Locks:跟踪数据库的锁获取、释放、死锁等信息。(包括在获取、取消、释放锁时或者对锁进行一些操作时生成的时间类)
- Stored Proceduce:跟踪存储过程的编译、执行时间、缓存等相关情况。(包括执行存储过程时生成的事件类)
- TSQL:跟踪ad hoc语句的编译、执行时间等相关的信息。(包括执行从客户端传递到SQL Server实例的Transact-SQL语句时生成的事件类)
- Transactions:跟踪事务的开始、提交以及回滚等行为的信息。(包括执行Microsoft分布式事务处理协调器事务时或写入事务日志生成的事件类)。
1.3 过滤跟踪
右下角有一个列筛选器(Column Filters)按钮,点击可以弹出字段过滤界面,如下图。我习惯根据任务管理器中的客户端进行ID跟踪软件执行的SQL语句以及存储过程等其他信息,根据不同的情况进行条件筛选,可以更针对性地跟踪出符合过滤条件的跟踪信息,帮助使用者排除不需要的信息。