SQL Server Profiler 是一个功能丰富的界面,用于建立和管理跟踪并分析和重播跟踪结果。 事件保存在一个跟踪文件中,稍后试图诊断问题时,能够对该文件进行分析或用它来重播特定的一系列步骤。sql
在实际开发中,咱们的数据库应用系统由于不可避免会存在有大量表,视图,索引,触发器,函数,存储过程,sql语句等,因此会出现一系列问题,有问题不可怕,找对工具很重要。接下来我就介绍一款性能检测工具--SQL Server Profiler,它能够对sql运行状况进行跟踪,从而找出问题所在。 SQL Server Profiler 是 SQL 跟踪的图形用户界面,用于监视数据库引擎或 Analysis Services 的实例。 您能够捕获有关每一个事件的数据并将其保存到文件或表中供之后分析。数据库
例如:安全
能够对生产环境进行监视.服务器
了解哪些存储过程因为执行速度太慢而影响了性能。数据库设计
同时SQL Server Profiler 用于下列活动中:函数
逐步分析有问题的查询以找到问题的缘由。工具
查找并诊断运行慢的查询。性能
捕获致使某个问题的一系列 Transact-SQL 语句。 而后用所保存的跟踪在某台测试服务器上复制此问题,接着在该测试服务器上诊断问题。测试
监视 SQL Server 的性能以优化工做负荷。 有关为数据库工做负荷而优化物理数据库设计的信息,请参阅数据库引擎优化顾问。优化
使性能计数器与诊断问题关联。
SQL Server Profiler 还支持对 SQL Server 实例上执行的操做进行审核。 审核将记录与安全相关的操做,供安全管理员之后复查。
1.首先是打开SQL Profiler,以下图:
2.打开工具选择对应的服务器,以下图:
3.点击肯定以后将标签页切换到事件选择页签,勾选以下选项(有的服务器默认会显示全部列,这里选择下图中的三个便可),以下图:
5.打开列筛选器的相应界面后,能够根据两种方式进行筛选过滤,分别是DataBaseName和HostName,以下图:(如下步骤可跳过,直接点击运行也可看到数据)
6.若是是选择DataBaseName进行过滤的时候,返回主界面找到你所须要跟踪的数据库名,以下图:
7.查找到对应的数据库名称以后,能够在DataBaseName过滤条件中填入对应的值,以下图:
8.也可经过程序主机名进行过滤(例如:个人程序主机名是SKTNB033),若是不清楚本身的主机名可经过语句(select HOST_NAME())进行查询。
9.就我我的而言,SQL Profiler能够用作两个用途,一个是查看执行过的SQL,将语句copy出来放到查询分析器执行,找到问题数据源头;另一个就是查看语句执行时间,找出耗时较长的语句对其进行优化,以下图: