成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

全面掌握SQL Server Profiler系列1:原理與相關概念

原創
數據庫 SQL Server
本系列文章將圍繞SQL Server Profiler進行,今天將是系列文章的第一篇——原理與相關概念介紹

【51CTO獨家特稿】作者簡介:汪洋(Richard Wang),資深架構師和.NET技術專家。一直戰斗在一線,實踐經驗極其豐富。現就職于惠普公司,擔任技術架構師和信息分析師。同時他還是上海益思研發管理咨詢有限公司首席架構師、軟件咨詢組副組長。曾在世界500強的在華日企擔任架構師,負責項目業務框架和平臺設計,曾帶領創業團隊與國內外企業進行項目合作。51CTO、博客園、ITPUB、China Unix等IT社區的知名博客和技術專家。CSDN和InfoQ的特約技術作家。2011年曾多次應邀在架構師大會、亞太軟件研發管理峰會和中國軟件開發大會等技術盛會上擔任演講嘉賓,深受與會者歡迎。此外,他還在為國內多家軟件企業開展軟件架構與性能優化方面的培訓。

說道SQL Server Profiler,相關很多朋友們都已經不陌生了。雖然說現在在網絡上有很多的文章介紹它的使用,但是介紹的都不怎么系統與完整。因為筆者對SQL Server Profiler的使用也有些年了,并且常常在性能優化中使用,所以,借此機會,獻出一整個介紹SQL Server Profiler的系列文章。

可以說說SQL Profiler是一個非常強大的工具,使用它,我們可以捕獲和分析數據庫中發生的相關的事件,例如,存儲過程的執行等。而捕獲的信息可以為我們在性能診斷中提供依據。

如果你對SQL Profiler不是很熟悉,那么,本篇文章將會帶著你一步步的熟悉。在這篇文章中,我會講述SQL Profiler的工作原理,還會解釋在后面文章要常常要用的一些術語,同時也會講述如何保持一個Profiler Traces跟蹤文件。

通過本篇文章的越多,朋友們會清楚如下的問題

1.理解SQL Profiler是如何工作的

2.對Profiler的一些術語和概念有一個比較清楚的認識,例如事件,數據列,過濾器等

3.理解如何配置權限啟動Profiler

4.可以創建基本的Profiler跟蹤,并且保存。

在開始學習任何一門技能之前,我們需要知道:為什么要學習這門技能,學習完了之后,可以給我們帶來什么好處?畢竟人的精力是有限的,不可能隨隨便便學習一門對自己毫無用處的知識。

可以這樣說:區分一個有經驗的DBA與一個新手DBA的區別就在于:有經驗的DBA知道在核實充分利用何種工具可以快速的將問題搞定(其實我本身也是一個開發人員,通俗點說,就是寫應用代碼的,不算是真正DBA,因為很多的時候,在項目中,沒有DBA,所以不得不扮演很多的角色,所以學習了不少的技能)。

如果熟練的掌握了SQL Profiler之后,有經驗的DBA就可以對數據庫的運行狀況進行跟蹤,并且利用跟蹤的數據進行問題的分析與性能的診斷與優化,有時候,甚至可以再問題還

有發生之前發現潛在的問題。我們把掌握SQL Profiler的好處列下來:

1.可以監視SQL Server內部發生的各種活動:例如發生在數據庫引擎中的活動,發生在Analysis Services以及Integration Services中的活動。

2.監控并且確認某些查詢,事務相關的性能問題等。

3.可以對執行計劃進行分析。

4.可以監視并且確認SQL Server內部的發生的一些錯誤和警告。

5.可以捕獲數據庫發生的數據,并且還可以對數據庫的壓力進行重放。

6.可以對數據庫中用戶的活動進行審計跟蹤。

7.可以通過多種方式對數據進行分析與跟蹤。

8.可以將跟蹤的數據與系統的性能計數器關聯起來,從而更加全面的檢查發生的問題。

9.可以將跟蹤的數據以DTA來進行分析

10.還可以對SQL Profiler進行編程,可以不使用它的GUI工具。

說了這么多,似乎已經把SQL Profiler說的天花亂墜了!其實SQL Profiler也不是萬能的,也只是在SQL Server診斷與分析中常常使用的一種工具而已,至于決定到底是否在使用它,還是取決于DBA或者技術人員本身,通過本系列的學習,相信大家會有一個比較清楚的認識。

首先,我們來簡要的看看SQL Server Profiler的工作原理。

SQL Server Profiler的工作原理

其實SQL Server Profiler這個工具是SQL Trace的一個GUI的版本,而SQL Trace是一組腳本,自SQL Server 2000就已經有了的,這一組腳本捕獲和跟蹤SQL Server內部發生一些事件,并且將跟蹤的數據保存以便后續使用。

從本質上說,SQL Trace就是一個非常簡單的工具,它的作用就是捕獲客戶端應用與SQL Server之前的通信的信息。它扮演中一個非常特殊的網絡嗅探器的功能,用來捕獲與SQL Server相關的網絡活動,同時也允許我們查看客戶端應用的請求觸發了SQL Server的哪些事件。

另外,與我們熟悉的網絡嗅探器不同的是:SQL Trace只是捕獲發生在SQL Server內的相關的事件和活動,而不會獲取網絡上面傳輸的數據。

為了使得大家對SQL Trace有一個更加清楚的認識,我們來看看下面的一個圖1-1:

那么對于上面的圖1:

1.SQL Server事件是指由SQL Server本身內部觸發的活動,或者由客戶端與SQL Server進行連接時在SQL Server內部觸發的活動。事件包含很多不同的種類,我們將會在后續文章中詳解介紹。

2.因為事件發生在SQL Server的內部,SQL Trace的任務就是根據Filter來捕獲自己感興趣的事件。

3.一旦事件被SQL Trace捕獲,那么發生的事件與相關的事件信息就會被保存在內存的隊列中。

4.SMO(Server Management Objects),是可以直接的訪問SQL Server的對象模型。其實,SQL Trace對于我們而言,就可以將之看成是一個黑盒,我們能做的就是通過一些方式和工具去與這個黑盒交互,SQL Profiler和系統的存儲過程就是這樣的工具。

為了后續的理解方便,也為了保證我們的理解一致,我們下面介紹一些常見的概念和術語。

#p#

SQL Profiler中常用的術語概念

這里主要介紹下面四個術語:
事件(Events)
數據列(Data Columns)
過濾器(Filters)
跟蹤(Trace)

事件

相信熟悉微軟技術的朋友對“事件”這個概念已經不陌生了,簡而言之就是發生的活動,例如一個存儲過程的執行,就是一個活動,也是發生了一個事件。SQL Profiler允許我們捕獲大約170多種不同的與SQL Server有關的時間。
另外,在SQL Profiler中,使用Event Category這個概念,對不同的事件進行了一個大致的分類,使得為我們的監控更加的方便,例如所有與存儲過程相關的事件都被劃分在一個分類中。

數據列

這個概念理解起來非常簡單,簡而言之就是描述事件發生的一些信息。這個概念和我們在.NET編程中的事件信息的概念是一樣的。如圖1-2所示,可以看到事件發生的時候,包含了一些實事件信息,即數據列。


 
圖1-2中列出了很多事件的數據列,例如,對于RPC:Completed事件而言,包含了TextData,ApplicationName等。同時,還可以看出 ,不是所有事件都有相同的數據列。
過濾器

顧名思義,過濾器主要是SQL Profiler用來對發生的事件進行過濾的,只捕獲感興趣的事件。可以根據很多的來創建靈活的過濾,如圖1-3所示:

過濾器在使用SQL Profiler中非常有用,因為它可以決定我們收集到的數據的正確性,更加對收集到的數據的量產生很多的影響。

跟蹤

請注意:這里的跟蹤,不是個動詞,而是一個名詞!每一個跟蹤包含了發生的事件以及相關的數據列信息,并且我們常常將這些信息保存在物理的文件中。其實,我們常常所說的跟蹤,就是一個保存SQL Profiler數據的跟蹤文件。

 

跟蹤文件可以以很多的方式保存:保存在內存中,以特定的格式導出,保存在數據庫中,保存為XML文件等。如圖1-4所示,就現在SQL Profiler中直接顯示了跟蹤信息,即跟蹤信息保存在內存中:
 
本篇就暫時介紹到這里,下一篇,就和大家一起來看看,如何快速的使用SQL Profiler。

【編輯推薦】

  1. 誤刪SQL Server日志文件后怎樣附加數據庫
  2. SQL Server 2005數據庫用戶權限管理的設置
  3. MSSQL數據庫跨表和跨數據庫查詢方法簡介
  4. 淺析SQL Server數據庫專用管理員連接DAC的使用
  5. T-SQL行列相互轉換命令:PIVOT和UNPIVOT使用詳解
責任編輯:彭凡 來源: 51CTO
相關推薦

2012-05-29 09:20:28

SQL Profile

2020-05-06 09:11:50

DevOps

2021-09-13 10:23:52

工具ProfilerSQL

2010-07-23 16:10:32

SQL Server復

2010-10-20 15:11:53

SQL Server作

2010-06-17 14:43:29

SQL Server參

2010-07-26 15:17:46

SQL Server鎖

2010-09-27 09:54:26

Sql Server視

2010-10-21 15:21:06

SQL Server系

2010-07-07 17:33:41

SQL Server復

2010-01-18 10:48:16

SQL Server

2009-06-24 11:12:17

callerJavascript

2017-03-27 20:42:17

遷移學習人工智能機器學習

2010-08-05 09:07:24

2010-07-05 15:48:44

SQL Server

2011-08-18 16:03:48

數據切分MySQL

2020-10-30 09:00:00

JavaScriptJavaScript引前端

2010-09-28 14:06:43

Sql Server表

2010-09-03 13:58:02

Ethereal網絡協

2021-03-04 22:02:18

SQL Serve數據庫架構
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产农村一级国产农村 | 中文字幕亚洲欧美日韩在线不卡 | 自拍偷拍亚洲欧美 | 99久久婷婷国产综合精品 | 日本精品视频一区二区三区四区 | 99热欧美| 在线一级片 | 日韩成人中文字幕 | 99这里只有精品视频 | 成人在线中文字幕 | 成人在线免费视频 | 国产精品一区二区三区久久久 | 国产视频久久 | 国产在线拍偷自揄拍视频 | 久久久国产精品网站 | cao在线 | 女人精96xxx免费网站p | 成人在线精品 | 亚洲精品一 | 亚洲网站在线观看 | 国产成人99久久亚洲综合精品 | 国产电影一区二区三区爱妃记 | 欧美成人精品激情在线观看 | av毛片在线免费观看 | 日韩av成人 | 国产毛片久久久久久久久春天 | 久久精品99 | 在线成人www免费观看视频 | 国产精品久久久久久久久久久免费看 | 国产精品久久久 | 欧美精品三区 | 久久狠狠 | 国产亚洲人成a在线v网站 | 欧美综合在线观看 | 一级毛毛片 | 草久久 | 美女天天操 | 国产精品美女久久久久久免费 | 日韩一区二区av | 国产精品国产成人国产三级 | 中文字幕国产一区 |