亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 編程設計 > 正文

Sql Server 2012的擴展事件詳細使用圖文教程

2020-06-27 15:32:35
字體:
來源:轉載
供稿:網友

在SQLSERVER2012之前,擴展事件的所有操作只能用TSQL或C#代碼來實現

現在SQLSERVER2012就方便多了,有了新的GUI,趨向于傻瓜了,對我來講是好事o(∩_∩)o 哈哈

趁機學習一下擴展事件

簡單介紹

首先打開SQLSERVER2012的SSMS,依次點擊打開管理-》擴展事件-》會話

SqlServer2012,擴展事件

在會話文件夾中,點擊右鍵-》可以新建會話/新建會話向導

SqlServer2012,擴展事件

在已有的會話中,點擊右鍵-》啟動會話、新建會話、導出會話、刪除、屬性

SqlServer2012,擴展事件

這些菜單已經很豐富了

點擊-》新建會話向導 ,SQLSERVER會一步一步引導您怎麼新建一個會話

包括設置會話熟悉感、選擇模板、選擇要捕獲的事件、選擇要捕獲的全局字段、設置事件會話篩選器、指定會話數據存儲

SqlServer2012,擴展事件

SqlServer2012,擴展事件

這個向導我就不介紹了,我們一般都不喜歡用傻瓜的向導,生怕漏了什么東西沒有設置

其實大家看到向導中要設置的步驟:選擇模板、設置事件會話篩選器、選擇要捕獲的全局字段,有沒有覺得和SQLSERVER PROFILER差不多的感覺

SqlServer2012,擴展事件

SqlServer2012,擴展事件

建立會話

我們新建一個會話

SqlServer2012,擴展事件

彈出 新建會話 對話框

SqlServer2012,擴展事件

左邊有常規、事件、數據存儲、高級這些tab頁

等一下會陸續介紹

常規頁面

輸入會話名稱

SqlServer2012,擴展事件

在sql profiler里面就是輸入跟蹤名稱

SqlServer2012,擴展事件

下面有一些選項,例如在服務器啟動時啟動事件會話,你可以根據自己實際情況進行勾選

SqlServer2012,擴展事件

大家知道開啟sql profiler會對SQLSERVER的性能造成影響

那么,從下面的“在服務器啟動時啟動事件會話”

這里告訴我們兩個信息

信息一:自動化程度高了,以往我們都是重啟服務器就需要自己手動打開sql profiler來重新跟蹤SQLSERVER的事件,現在有這個選項就方便多了

不用手動打開擴展事件

信息二:擴展事件對SQLSERVER的性能損耗不大

在園子里的燕洋天大俠的文章大話擴展事件第一篇:概述(上)里提到:

擴展事件的出現與設計主要是以性能為主要的出發點

我們可以使用一個文件目標對象在相關的時間發生之后將信息寫入到文件中,這樣就非常的輕量級了,并且可以精確到事件發生點

SqlServer2012,擴展事件

我們在會話名稱里輸入“blogtest”

SqlServer2012,擴展事件

會話中也提供了很多模板給我們使用

就像sql profiler里面

SqlServer2012,擴展事件

在文章擴展事件在Denali CTP3里的新UI(一)中也說了

我們支持與Profiler里模板類似的概念,只要選擇一個模板,Event(包括Action和Predicate)和Target以及某些選項就自動選擇好了

但是在CTP3里只有一個Standard模板,這個模板所選擇的事件和Profiler里的Standard模板相對應

你也可以把自己創建的Session作為模板保存起來以備后用,保存模板只需要右鍵點擊某個Session然后選擇Export Session…即可

因為那篇文章出來的時候SQLSERVER2012也只是CTP3的階段,所以那時候只有一個標準模板,現在SQLSERVER2012出來了

已經多了很多模板了

SqlServer2012,擴展事件

導出會話就相當于導出模板了

SqlServer2012,擴展事件

sql profiler里導出模板

SqlServer2012,擴展事件

導入會話模板

在新建會話對話框里選擇模板的下拉列表有一個  <從文件...>

SqlServer2012,擴展事件

SqlServer2012,擴展事件

事件頁面

事件頁面是最復雜的,你首先看到它分為左右兩部分,左邊是事件庫,所有在SQL Server里注冊的擴展事件都列在這里,右邊是你選擇的事件。

SqlServer2012,擴展事件

在選擇事件的時候,你可以點擊名稱列表頭,進行事件名稱的首字母進行順序或者倒序排序,

SqlServer2012,擴展事件

類別和通道也是可以排序的

SqlServer2012,擴展事件

事件的類別非常多,包括cdc功能的事務日志掃描、死鎖監視、高度可用性和數據的安全性(High Availability and Disaster Recovery,HADR)、垃圾回收等等

SqlServer2012,擴展事件

SqlServer2012,擴展事件

事件過濾,比如我在在事件庫的輸入框里輸入sql_,所有名字含有sql_字樣的事件都被列了出來并且高亮顯示

SqlServer2012,擴展事件

過濾也可以按照事件名稱和說明、僅事件字段、全部來進行過濾

SqlServer2012,擴展事件

類別和通道的類似于EXCEL的列篩選

SqlServer2012,擴展事件

SqlServer2012,擴展事件

我們選擇sql_statement_starting和sql_statement_completed事件

SqlServer2012,擴展事件

SqlServer2012,擴展事件

點擊所選事件頁面右上方的配置按鈕,頁面將會滑動

SqlServer2012,擴展事件

配置事件頁面

你可以點擊“選擇”返回剛才的事件庫頁面

你會看到閃電和漏斗圖標分別出現在了右邊配置頁面的全局字段(操作)標簽和篩選器(謂詞)標簽上

SqlServer2012,擴展事件

SqlServer2012,擴展事件

SqlServer2012,擴展事件

SqlServer2012,擴展事件

SqlServer2012,擴展事件

閃電代表的是該事件上有多少Global Fields(Actions)關聯

漏斗代表該事件有沒有Filter(Predicate)關聯

SQLSERVER Profiler里每個事件都含有EventSequence列,而在XEvent里則被作為Action來實現了。

SqlServer2012,擴展事件

Predicate可以減少不必要的事件收集,比如我可以配置sql_statement_starting事件的Predicate為database_name=’Northwind’,

那么發生在其他數據庫的sql_statement_starting事件就不會被該Session所收集,Profiler可以為所有事件設置一個Column Filter,

而XEvent支持為每個Event設置各自獨立不同的Predicate

SqlServer2012,擴展事件

事件字段(Event Fields)標簽列出所有該Event的列,某些Event會把一些開銷比較大的列作為可選的列,你可以點擊前面的CheckBox選擇是否收集該列數據,

比如sql_statement_starting的statement列就可以被取消選擇。

SqlServer2012,擴展事件

你可以同時選擇多個事件并選擇/取消全局字段(操作)或配置篩選器(謂詞)

在這里我們為sql_statement_starting和sql_statement_completed事件,在全局字段(操作)里選擇database_name

SqlServer2012,擴展事件

不添加謂詞并保持事件字段為默認值。

完成之后在閃電和漏斗列會顯示相應的動作和謂詞的數量

如果配置謂詞錯誤,在漏斗列會顯示 打叉

SqlServer2012,擴展事件

我們刪除子句就可以了

SqlServer2012,擴展事件

配置完畢之后,會看到sql_statement_starting(事件)和sql_statement_completed(事件)后面的閃電圖標列有一個動作與之關聯

SqlServer2012,擴展事件

數據存儲頁面

在這個頁面里可以選擇為Session添加不同的目標(Target)

 

SqlServer2012,擴展事件

 

SqlServer2012,擴展事件

這里我們選擇event_file 目標并保持默認配置

SqlServer2012,擴展事件

高級頁面

SqlServer2012,擴展事件

高級頁面可以設置控制會話行為的高級選項,有一個選項需要特別注意,”最大調度滯后時間(Maximum dispatch latency)”

它描述了事件從被觸發到寫入到Target最長的等待時間,默認值是30秒,如果你使用和SQLSERVER Profiler client-side tracing

類似的Live Monitoring功能,你可能會希望把它改小,這樣事件被觸發后可以盡快地顯示在SSMS里,

但需要注意到的是改小它會增加SQL Server的開銷,這里我們把它改成5秒

完成創建

點擊“確定”完成事件會話的創建

SqlServer2012,擴展事件

blogtest 會話將會被創建成功并顯示在Object Explorer里

SqlServer2012,擴展事件

在會話被創建后,你可以在Object Explorer里右鍵點擊該Session并選擇屬性,這將打開和創建會話相同的對話框,進行修改后點擊確定即可。

SqlServer2012,擴展事件

SqlServer2012,擴展事件

如果你想查看怎麼用TSQL語句的方式能創建剛才blogtest事件會話,可以用編寫腳本的方式

SqlServer2012,擴展事件

SqlServer2012,擴展事件

 

1 CREATE EVENT SESSION [blogtest] ON SERVER 2 ADD EVENT sqlserver.sql_statement_completed(SET collect_statement=(1)3     ACTION(sqlserver.database_name)),4 ADD EVENT sqlserver.sql_statement_starting(5     ACTION(sqlserver.database_name)) 6 ADD TARGET package0.event_file(SET filename=N'D:/Program Files/Microsoft SQL Server/MSSQL11.SQL2012/MSSQL/Log/blogtest.xel')7 WITH (MAX_MEMORY=4096 KB,EVENT_RETENTION_MODE=ALLOW_SINGLE_EVENT_LOSS,MAX_DISPATCH_LATENCY=5 SECONDS,MAX_EVENT_SIZE=0 KB,MEMORY_PARTITION_MODE=NONE,TRACK_CAUSALITY=OFF,STARTUP_STATE=OFF)8 GO

 

SqlServer2012,擴展事件

啟動會話并監視

啟動會話

SqlServer2012,擴展事件

監視實時數據

SqlServer2012,擴展事件

當點擊“監視實時數據”按鈕,就會新建一個窗口

SqlServer2012,擴展事件

SqlServer2012,擴展事件

SqlServer2012,擴展事件

運行了一下,事件數量就不斷上升

SqlServer2012,擴展事件

我們停止會話

SqlServer2012,擴展事件

但是似乎SQLSERVER有些問題

SqlServer2012,擴展事件

我以為SQLSERVER會刪除了blogtest這個會話,然后我刷新了一下會話節點,沒有刪除,似乎SQLSERVER在這個地方有些bug

又或者是我自己操作不正確

SqlServer2012,擴展事件

xel文件

我們看一下D:/Program Files/Microsoft SQL Server/MSSQL11.SQL2012/MSSQL/Log路徑下的情況

我剛才停止了會話,又重新啟動了會話,所以會產生兩個blogtest xel文件

這里要注意一下,剛才我們在 數據存儲 頁面,默認的設置值是:勾選了啟用文件滾動更新,并且在最大文件數里設置為5

這里跟SQL ERROR LOG是一樣的,當blogtest這個會話產生的xel文件的文件數達到5個,就會刪除最早的那個xel文件

然后生成一個新的xel文件

SqlServer2012,擴展事件

SQL ERRORLOG也是一樣是滾動更新的,這里就不再詳細敘述了~

SqlServer2012,擴展事件

system_health xel文件是安裝SQLSERVER的時候已經創建好的

system_health 擴展事件會話

此會話源自產品支持團隊的想法,它可以跟蹤通常被用來對客戶系統進行調試的信息

(例如當客戶系統發生死鎖或出現其它嚴重錯誤時)

此會話的創建和啟動是 SQL Server 2008 實例安裝過程的一部分

它在環緩沖區中跟蹤事件,因此不會消耗太多內存.

SQL Server 2008使用擴展事件進行高級故障排除

SqlServer2012,擴展事件

SqlServer2012,擴展事件

我們用editplus打開,發現都是二進制的,我還以為是XML格式的

SqlServer2012,擴展事件

查看收集回來的xel文件

如果你想查看收集了一個晚上的xel文件,你可以直接把xel文件拖進去SSMS就可以了

SqlServer2012,擴展事件

上面那個blogtest_0_130315881898000000.xel一共收集了474個事件

不過擴展事件的文件名好像沒有什么規律,如果別人給你一個xel文件叫你分析一下例如下圖那個,從文件名你只能知道是2013年16日收集的事件信息

SqlServer2012,擴展事件

我們看一下擴展事件的結構

SqlServer2012,擴展事件

大家點擊加號,會看到事件會話下面會有一個包

SqlServer2012,擴展事件

我們右鍵點擊查看目標數據

SqlServer2012,擴展事件

就會彈出一個新窗口

SqlServer2012,擴展事件

上面彈出的新窗口顯示了下面五個xel文件的所有事件,這樣就不用每個文件逐個逐個地拖到SSMS里面看了,更不用打開文件資源管理器

SqlServer2012,擴展事件

大家不相信的話,可以把這五個xel文件拖到SSMS,然后相加起來,看是不是跟包的事件數目是一樣的

總結

這一篇簡單介紹了 擴展事件的創建和一些概念,下一篇會繼續講述如何用擴展事件來顯示和分析數據

將試圖找到一個workload中平均開銷最大的query

個人感覺擴展事件跟SQL profiler真的很相似

SQL profiler把跟蹤到的事件寫入到trc文件

而擴展事件把事件信息寫入到xel文件

而監控實時數據相當于在SQL profiler里開啟跟蹤,只不過一個在SQL profiler軟件里查看跟蹤的事件,而另一個直接在SSMS里查看事件

我覺得擴展事件就像把SQL profiler集成到SSMS里面一樣,當然擴展事件的機制跟SQL profiler是不一樣的

SqlServer2012,擴展事件

SqlServer2012,擴展事件


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩精品极品毛片系列视频| 国产精品美乳一区二区免费| 中文字幕在线亚洲| 久久久久国产精品免费| 日本三级久久久| 国产亚洲一级高清| 91麻豆国产语对白在线观看| 91系列在线播放| 亚洲精品一区在线观看香蕉| 日韩av在线电影网| 精品国内产的精品视频在线观看| 96国产粉嫩美女| 亚洲激情国产精品| 91九色单男在线观看| 色av吧综合网| 九九热在线精品视频| 精品久久久在线观看| 日韩电影中文字幕在线观看| 精品国产一区二区三区久久久| 欧美不卡视频一区发布| 51精品国产黑色丝袜高跟鞋| 亚洲一区中文字幕在线观看| 日韩视频免费观看| 日产精品久久久一区二区福利| 久久久久亚洲精品成人网小说| 伊人久久大香线蕉av一区二区| 2019中文字幕在线观看| 亚洲精品久久久一区二区三区| 国产精品av在线| 欧美一区二区三区免费观看| 亚洲精品丝袜日韩| 日韩视频精品在线| 日韩免费观看在线观看| 在线视频免费一区二区| 久久久久久久国产精品视频| 91精品久久久久| 成人免费淫片视频软件| 丁香五六月婷婷久久激情| 国产一区二区三区在线免费观看| 8090成年在线看片午夜| 久久视频免费在线播放| 在线观看亚洲区| 亚洲精品自产拍| 91精品国产沙发| 欧美激情亚洲视频| 精品亚洲va在线va天堂资源站| 国产一区二区三区在线观看视频| 欧美噜噜久久久xxx| 欧洲永久精品大片ww免费漫画| 人人澡人人澡人人看欧美| 欧美一级免费看| 精品视频在线播放免| 国产精品久久久久999| 亚洲最大的成人网| 26uuu另类亚洲欧美日本老年| 午夜欧美大片免费观看| 最近中文字幕mv在线一区二区三区四区| 日韩电影中文 亚洲精品乱码| 欧美限制级电影在线观看| 精品久久久精品| 欧美国产亚洲精品久久久8v| 久久激情视频免费观看| 亚洲精品一区中文字幕乱码| 91精品久久久久久久久久久久久| 欧美国产日产韩国视频| 黄色一区二区在线| 最新中文字幕亚洲| 久久五月情影视| 欧美乱妇40p| 亚洲第一二三四五区| 日韩在线观看免费全集电视剧网站| 久久成人亚洲精品| 91在线无精精品一区二区| 欧美日韩在线影院| 欧美激情一区二区久久久| 欧美丝袜美女中出在线| 国产成人jvid在线播放| 成人xvideos免费视频| 久久好看免费视频| 国产精品一区二区电影| 国产91精品黑色丝袜高跟鞋| 国产精品欧美亚洲777777| 亚洲欧美成人网| 秋霞av国产精品一区| 97热在线精品视频在线观看| 久久视频免费观看| 成人97在线观看视频| 国产精品视频大全| 亚洲日本成人女熟在线观看| 中文字幕免费精品一区| 精品久久久久久中文字幕大豆网| 久久99久久久久久久噜噜| 中文字幕视频在线免费欧美日韩综合在线看| 91成人在线播放| 久久伊人免费视频| 日韩中文字幕不卡视频| 国产精品无av码在线观看| 国产日韩av在线播放| 久久天堂av综合合色| 久久久精品电影| 国产欧美最新羞羞视频在线观看| 97香蕉久久超级碰碰高清版| 久久精品亚洲一区| 久久久久久久一区二区| 4438全国成人免费| 中文字幕亚洲欧美日韩2019| 欧美野外猛男的大粗鳮| 久久久久久com| 欧美天天综合色影久久精品| 亚洲人高潮女人毛茸茸| 麻豆一区二区在线观看| 亚洲国产精品高清久久久| 人九九综合九九宗合| 久久国内精品一国内精品| 国产玖玖精品视频| 亚洲色图13p| 欧美视频专区一二在线观看| 国产精品人成电影在线观看| 欧美国产第一页| 色偷偷偷亚洲综合网另类| 7m第一福利500精品视频| 国产精品美腿一区在线看| 欧美性生交xxxxx久久久| 午夜剧场成人观在线视频免费观看| 久久久人成影片一区二区三区| 成人黄色免费看| 精品成人av一区| 欧美大尺度在线观看| 2025国产精品视频| 日韩精品在线观看一区二区| 亚洲国产精品热久久| 亚洲理论片在线观看| 亚洲国产成人久久综合| 日本伊人精品一区二区三区介绍| 亚洲一区二区三区香蕉| 国内精品久久久久久中文字幕| 国产亚洲精品成人av久久ww| 欧美高清视频在线播放| 日韩电影中文字幕在线观看| 欧美一区二区三区四区在线| 欧美自拍大量在线观看| 夜夜嗨av色一区二区不卡| 欧美日韩成人免费| 国产一区香蕉久久| 亚洲午夜性刺激影院| 国产成人精品视频在线| 影音先锋欧美在线资源| 国产精品日韩在线播放| 亚洲国产天堂久久综合网| 欧美重口另类videos人妖| 欧美亚洲国产视频小说| 日韩高清电影好看的电视剧电影| 中文字幕亚洲无线码在线一区| 国产成人黄色av| 九九热最新视频//这里只有精品| 精品人伦一区二区三区蜜桃免费| 亚洲精品自拍视频| 国产精品久久77777| 久久精品国产久精国产思思| 91av在线不卡| 国产欧美va欧美va香蕉在线| 亚洲人成绝费网站色www| 国产91网红主播在线观看| 91国产中文字幕|