0

0

SQLSERVER2012里的扩展事件初尝试(下)

php中文网

php中文网

发布时间:2016-06-07 15:45:42

|

1301人浏览过

|

来源于php中文网

原创

SQLSERVER2012里的扩展事件初尝试(下) SQLSERVER2012里的扩展事件初尝试(上) 我们继续文章 扩展事件在Denali CTP3里的新UI(二) 里的这个实验 脚本文件下载: http://files.cnblogs.com/lyhabc/instnwnd.rar 我们打开上篇创建的blogtest扩展事件会话的

SQLSERVER2012里的扩展事件初尝试(下)

sqlserver2012里的扩展事件初尝试(上)

我们继续文章扩展事件在Denali CTP3里的新UI(二)里的这个实验

脚本文件下载:http://files.cnblogs.com/lyhabc/instnwnd.rar

我们打开上篇创建的blogtest扩展事件会话的属性

SQLSERVER2012里的扩展事件初尝试(下)

检查一下sql_statement_starting事件和sql_statement_completed事件的谓词是不是database_name=’Northwind’

SQLSERVER2012里的扩展事件初尝试(下)

SQLSERVER2012里的扩展事件初尝试(下)

 


运行workload

大家可以看到instnwnd.sql这个文件是比较大的,执行的时候会产生一些workload

SQLSERVER2012里的扩展事件初尝试(下)

 

我们启动blogtest会话

SQLSERVER2012里的扩展事件初尝试(下)

然后执行instnwnd.sql脚本

SQLSERVER2012里的扩展事件初尝试(下)

如果你的机器运行这个脚本很长时间,你可以点击工具栏的“停止数据反馈”,SSMS会停止继续显示实时数据

SQLSERVER2012里的扩展事件初尝试(下)

实时数据窗口可能只有两个列name和timestamp,这是仅有的2个所有扩展事件共有的列

你可以选择工具栏上的选择列按钮,添加/删除需要显示的列

SQLSERVER2012里的扩展事件初尝试(下)

SQLSERVER2012里的扩展事件初尝试(下)

我增加了3个列database_name,duration和statement

SQLSERVER2012里的扩展事件初尝试(下)

SQLSERVER2012里的扩展事件初尝试(下)

 

我们要找到Northwind数据库里平均执行时间最长的query,首先我们可以过滤不必要的事件

上篇曾提到过谓词可以在SQL Server端避免不需要的事件被产生,我们同时也支持客户端的过滤器,这可以帮助你做各种分析

点击工具栏上的筛选器按钮,这将打开筛选器对话框

SQLSERVER2012里的扩展事件初尝试(下)

这里我们设置两个条件name=sql_statement_completed And database_name=Northwind

SQLSERVER2012里的扩展事件初尝试(下)

为了避免输入错误,你可以从事件列表里拷贝粘帖,你还可以右键点击某个单元格,然后选择Filter by this Value,

这将自动为你添加一个子句并And到原有条件上

设置完毕之后点击确定

过滤掉不必要的事件后我们按照statement来做分组,点击工具栏上的分组按钮

AdsGo AI
AdsGo AI

全自动 AI 广告专家,助您在数分钟内完成广告搭建、优化及扩量

下载

SQLSERVER2012里的扩展事件初尝试(下)

把statement移动到右边,点击确定

SQLSERVER2012里的扩展事件初尝试(下)

分组的目的是为了计算每个分组上duration的平均值,下面可以点击工具栏上的聚合按钮

SQLSERVER2012里的扩展事件初尝试(下)

我们在duration上聚合类型选择AVG

SQLSERVER2012里的扩展事件初尝试(下)

然后选择在duration(AVG)上按降序排序

SQLSERVER2012里的扩展事件初尝试(下)

这样duration平均值最大的分组将被显示在第一行

我执行instnwnd.sql的workload里duration最大的分组是“exec master.dbo.sp_MSdbuserpriv N'serv'”

它的duration是13610微秒,这样我们就找到了平均开销最大的query

我们用单位换算器换算一下

SQLSERVER2012里的扩展事件初尝试(下)

SQLSERVER2012里的扩展事件初尝试(下)

SQLSERVER2012里的扩展事件初尝试(下)

 

你可以通过 打开-》合并扩展事件文件-》来打开生成的xel文件

SQLSERVER2012里的扩展事件初尝试(下)

SQLSERVER2012里的扩展事件初尝试(下)


总结

大家一定会好奇,为什麽在创建事件会话的时候会有筛选器,在SSMS工具栏又有筛选器

SQLSERVER2012里的扩展事件初尝试(下)

SQLSERVER2012里的扩展事件初尝试(下)

其实扩展事件是属于SQLSERVER端的,把SQLSERVER profiler的功能搬到SQLSERVER端,当然不是简单的搬到SQLSERVER端

而SSMS的工具栏只是提供一些分析xel文件的工具,这些跟SQLSERVER profiler是差不多的

比如人家给你一个xel文件,你需要SSMS的扩展事件工具栏的工具去分析

 

而以前SQLSERVER profiler是属于客户端的(是一个客户端工具),profiler获取SQLSERVER端的各种事件,然后传送回客户端,

在SQLSERVER profiler界面上显示给大家

 

所以大家可以理解为扩展事件就是把SQLSERVER profiler的功能集成到SQLSERVER端,反正我是这样理解的,不过这个集成不是简单的集成

 

如有不对的地方,欢迎大家拍砖o(∩_∩)o

相关专题

更多
高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

4

2026.01.16

全民K歌得高分教程大全
全民K歌得高分教程大全

本专题整合了全民K歌得高分技巧汇总,阅读专题下面的文章了解更多详细内容。

3

2026.01.16

C++ 单元测试与代码质量保障
C++ 单元测试与代码质量保障

本专题系统讲解 C++ 在单元测试与代码质量保障方面的实战方法,包括测试驱动开发理念、Google Test/Google Mock 的使用、测试用例设计、边界条件验证、持续集成中的自动化测试流程,以及常见代码质量问题的发现与修复。通过工程化示例,帮助开发者建立 可测试、可维护、高质量的 C++ 项目体系。

10

2026.01.16

java数据库连接教程大全
java数据库连接教程大全

本专题整合了java数据库连接相关教程,阅读专题下面的文章了解更多详细内容。

33

2026.01.15

Java音频处理教程汇总
Java音频处理教程汇总

本专题整合了java音频处理教程大全,阅读专题下面的文章了解更多详细内容。

15

2026.01.15

windows查看wifi密码教程大全
windows查看wifi密码教程大全

本专题整合了windows查看wifi密码教程大全,阅读专题下面的文章了解更多详细内容。

42

2026.01.15

浏览器缓存清理方法汇总
浏览器缓存清理方法汇总

本专题整合了浏览器缓存清理教程汇总,阅读专题下面的文章了解更多详细内容。

7

2026.01.15

ps图片相关教程汇总
ps图片相关教程汇总

本专题整合了ps图片设置相关教程合集,阅读专题下面的文章了解更多详细内容。

9

2026.01.15

ppt一键生成相关合集
ppt一键生成相关合集

本专题整合了ppt一键生成相关教程汇总,阅读专题下面的的文章了解更多详细内容。

6

2026.01.15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
AngularJS教程
AngularJS教程

共24课时 | 2.6万人学习

C++教程
C++教程

共115课时 | 12.5万人学习

XML教程
XML教程

共142课时 | 5.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号