SQL Server Profiler使用教程,通俗易懂才是王道
做开发,平时难免和数据库打交道,特别是写存储过程,对于我们这些不常写SQL的人来说是一件极其痛苦的事,每次写完运行总是有错,如果用的是本地数据库的话还好,可以在本机调试SQL,那如果在数据库在服务器上面,调试被禁用,那就悲剧了~
最近,由于工作需求,写一个存储过程,有几十个参数,数据库在服务器上面,写完了,测试完查询语句没有问题,但是到了项目里面查询时就出错,很是气人!想到了用SQL Profiler这个工具,打开选择默认设置,开始跟踪,晕,海量数据涌来,看的头晕,根本找不到要跟踪的语句。后来,经过百度搜索和仔细研究,算是学会使用SQL Profiler了。下面和大家分享一下。
SQL Profiler是一个图形界面和一组系统存储过程,其作用如下:
- 图形化监视SQL Server查询;
- 在后台收集查询信息;
- 分析性能;
- 诊断像死锁之类的问题;
- 调试T-SQL语句;
- 模拟重放SQL Server活动;
也可以使用SQL Profiler捕捉在SQL Server实例上执行的活动。这样的活动被称为Profiler跟踪。
不多说废话了,关于SQL Profiler的介绍网上多的是,大家自己找吧。下面说到实用的,开始动手操作吧!(注:本地数据库的就不用说了,可以调试运行,主要说数据库在服务器上面的情况。)
首先说明一下SQL Server Express版本是没有SQL Profiler工具的,企业版有这个工具,其他版本没有用过。下面来看下SQL Profiler在什么地方,首先打开SQL Server Management Sutdio,点击菜单,Tools > SQL Server Profiler,如图:
点击后,首先会出现登录界面,输入用户名密码后,会看到如下界面:
第四行有一项Use the template,选择Standard,如果是本地数据库的话,访问数据库的只有你一个人,点击Run就可以了。如果在服务器上,访问数据的人很多,所以要对结果进行一些过了。然后,点击选项卡Events Selection,如图:
可以看到Standard的默认选项,这个都不用管,选中复选框Show all columns,否则后面的HostName找不到。点击Column Filters...按钮,打开过滤选项页面:
下拉找到HostName项,在Like里面加入自己的计算机名称,这样就只显示我们这台计算机发送的SQL了。
然后,点击OK,点击Run就开始跟踪了,之后你在你电脑上面进行的数据库访问,都会被记录下来。
注意:是在你电脑上面,你访问服务器上面的网站,数据库访问是在服务器上面进行的,不是在你的电脑上面。只有你调试运行的时候,才是从你的电脑访问服务器,才能被跟踪到。
跟踪结果如下:
选中某条记录后就会显示执行的SQL,至于存储过程,我们可以清楚的看到传入的参数,还可以复制出来,进行调试。
如果记录过多,可以选择Edit > Find...下面的菜单,进行搜索。
看到这里,是不是突然感觉很简单啊,呵呵,看了那么多教程,讲的东西挺多,搞半天找不到自己想要的东西,越整越烦!
如果每次都改计算机名称,很不方便,我们可以做一个自己的模版,下次使用时就不用再进行配置了。下面来看看如何建立自己的模版吧:
如图,点击菜单,打开模版页面.如图所示:
输入你自己的模版名称,如MyProfiler,然后勾选Base new template on existing one:,就是基于某个已存在的模版就行修改,我们依旧选择Standard,下面还有一个Use as default template for selected server type,就是设置为默认模版,勾选上后,我们每次新建跟踪的时候就会默认选中我们添加的这个模版,建议勾上。然后点击Events Selection选项卡,设置HostName就可以了。完成后保存就可以了。
然后,点击File > New trace...新建跟踪,会看到我们新建的模版,并且是默认选中的,此时我们直接点击Run就可以继续我们的工作了。