作开发,平时不免和数据库打交道,特别是写存储过程,对于咱们这些不常写SQL的人来讲是一件极其痛苦的事,每次写完运行老是有错,若是用的是本地数据库的话还好,能够在本机调试SQL,那若是在数据库在服务器上面,调试被禁用,那就悲剧了~数据库
最近,因为工做需求,写一个存储过程,有几十个参数,数据库在服务器上面,写完了,测试完查询语句没有问题,可是到了项目里面查询时就出错,非常气人!想到了用SQL Profiler这个工具,打开选择默认设置,开始跟踪,晕,海量数据涌来,看的头晕,根本找不到要跟踪的语句。后来,通过百度搜索和仔细研究,算是学会使用SQL Profiler了。下面和你们分享一下。服务器
SQL Profiler是一个图形界面和一组系统存储过程,其做用以下:工具
也可使用SQL Profiler捕捉在SQL Server实例上执行的活动。这样的活动被称为Profiler跟踪。性能
很少说废话了,关于SQL Profiler的介绍网上多的是,你们本身找吧。下面说到实用的,开始动手操做吧!(注:本地数据库的就不用说了,能够调试运行,主要说数据库在服务器上面的状况。)测试
首先说明一下SQL Server Express版本是没有SQL Profiler工具的,企业版有这个工具,其余版本没有用过。下面来看下SQL Profiler在什么地方,首先打开SQL Server Management Sutdio,点击菜单,Tools > SQL Server Profiler,如图:网站
点击后,首先会出现登陆界面,输入用户名密码后,会看到以下界面:spa
第四行有一项Use the template,选择Standard,若是是本地数据库的话,访问数据库的只有你一我的,点击Run就能够了。若是在服务器上,访问数据的人不少,因此要对结果进行一些过了。而后,点击选项卡Events Selection,如图:调试
能够看到Standard的默认选项,这个都不用管,选中复选框Show all columns,不然后面的HostName找不到。点击Column Filters...按钮,打开过滤选项页面:server
下拉找到HostName项,在Like里面加入本身的计算机名称,这样就只显示咱们这台计算机发送的SQL了。blog
而后,点击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就能够继续咱们的工做了。