博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL Server Profiler使用教程,通俗易懂才是王道
阅读量:6505 次
发布时间:2019-06-24

本文共 1823 字,大约阅读时间需要 6 分钟。

  hot3.png

  做开发,平时难免和数据库打交道,特别是写存储过程,对于我们这些不常写SQL的人来说是一件极其痛苦的事,每次写完运行总是有错,如果用的是本地数据库的话还好,可以在本机调试SQL,那如果在数据库在服务器上面,调试被禁用,那就悲剧了~

  最近,由于工作需求,写一个存储过程,有几十个参数,数据库在服务器上面,写完了,测试完查询语句没有问题,但是到了项目里面查询时就出错,很是气人!想到了用SQL Profiler这个工具,打开选择默认设置,开始跟踪,晕,海量数据涌来,看的头晕,根本找不到要跟踪的语句。后来,经过百度搜索和仔细研究,算是学会使用SQL Profiler了。下面和大家分享一下。

 

一、SQL Server Profiler简介                                          

SQL Profiler是一个图形界面和一组系统存储过程,其作用如下:

  • 图形化监视SQL Server查询;
  • 在后台收集查询信息;
  • 分析性能;
  • 诊断像死锁之类的问题;
  • 调试T-SQL语句;
  • 模拟重放SQL Server活动;

也可以使用SQL Profiler捕捉在SQL Server实例上执行的活动。这样的活动被称为Profiler跟踪。

 

二、SQL 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就可以继续我们的工作了。

转载于:https://my.oschina.net/ind/blog/341746

你可能感兴趣的文章
前端面试之闭包
查看>>
部署本地jar到maven私服仓库
查看>>
盘点那些不知名却常用的 Git 操作
查看>>
angular组件开发
查看>>
webgl (原生)基础入门指南【一】
查看>>
nfs客户端进程变D,延伸linux的lock
查看>>
问题之ssh中Host key verification failed的解决
查看>>
Linux编程学习笔记 | Linux IO学习[1] - 文件IO
查看>>
Rust发布1.32版本,跟踪、模块化、宏等方面均有改进
查看>>
静态网站生成器将会成为下一个大热门
查看>>
网易云基于Prometheus的微服务监控实践
查看>>
开放才能进步!Angular和Wijmo一起走过的日子
查看>>
Java开发者必读的10篇精选优秀技术文章
查看>>
Oracle宣布提供新的Java支持价格体系
查看>>
IP路由与转发
查看>>
专访朱诗雄:Apache Spark中的全新流式引擎Structured Streaming
查看>>
AI+社交,快手商业化落地之道
查看>>
re:Invent大会第四天:为什么Lambda值得你更多关注?
查看>>
11个Visual Studio代码性能分析工具
查看>>
vue2.0一起在懵逼的海洋里越陷越深(四)
查看>>