簡介
SQL Server Profiler的中文意思是SQL Server事件探查,一個Sql的監視工具,可以具體到每一行Sql語句,每一次操作,和每一次的串連。感覺這個工具的作用還是很大的,給大家分享一下,對於新手瞭解Sql語句的寫法和提高語句的效能方法有很大的協助。
SQL Server Profiler使用方法
我們單擊開始--程式--Microsoft SQL Server 2005--效能工具--SQL Server Profiler
如
然後會出現如下介面
我們單擊檔案---【建立跟蹤(N)...】,這是一個多視窗多任何的工具,我們可以同時建立不同的跟蹤視窗,也可以是不同的資料庫
接著:
在這裡我們輸入 我們的跟蹤的資料庫的伺服器名稱,使用者名稱和密碼等資訊。單擊串連進入下一個介面
中左面的可以進行一個基本設定,使用的模板選擇,和檔案的儲存選擇等。我們一般使用預設的就OK了,不用動上面的東西,右面的圖是事件選擇,也就是說我們要跟蹤的事件有那個,在這裡可以一一的選擇,基本上Sql上有的事件都有,包括你用SQL Server Management Studio操作資料庫的過程都可以跟蹤的到。具體的事件和說明大家可以自己看一下。
只要單擊顯示所有事件就可以進行全部事件的選擇了。
我們還可以對統計的欄位進行篩選,單擊任意一個欄位標題可以查看列的說明如
我們從上依次說明 為:
TextDate 依賴於跟蹤中捕獲的事件類別的文本值;
ApplicationName 建立 SQL Server 串連的用戶端應用程式的名稱。此列由該應用程式傳遞的值填充,而不是由所顯示的程式名填充的;
NTusername Windows 使用者名稱。
LoginName 使用者的登入名稱(SQL Server 安全登入或 Windows 登入憑據,格式為“域\使用者名稱”)
CPU 事件使用的 CPU 時間(毫秒)。
Reads 由伺服器代表事件讀取邏輯磁碟的次數。
Writes 由伺服器代表事件寫入物理磁碟的次數。
Duration 事件佔用的時間。儘管伺服器以微秒計算期間,SQL Server Profiler 卻能夠以毫秒為單位顯示該值,具體情況取決於“工具”>“選項”對話方塊中的設定
ClientProcessID 調用 SQL Server 的應用程式的進程 ID。
SPID SQL Server 為用戶端的相關進程分配的伺服器處理序 ID。
StratTime 事件(如果可用)的啟動時間。
EndTime 事件結束的時間。對指示事件開始的事件類別(例如 SQL:BatchStarting 或 SP:Starting)將不填充此列。
BinaryData 依賴於跟蹤中捕獲的事件類別的二進位值。
然後我們單擊運行就可以,當然如果有興趣的話你也可以對列進行重新排列和篩選,只要單擊下面相應的按鈕根據提示操作就要可以了,我們這裡就安預設的進行
通過上面的圖我們就可以清楚的跟蹤到每一步操作是過程了,
現在如果大家對那版的Sql語句的寫法不怎麼懂的話就可以參考上面的,而且 是時時的,你在Sql裡操作幾下這裡就會出現相應的Sql語句,也是一個學習和提高的好工具
不僅僅是這樣,我們還可以對其中的資料進行分析,查詢,跟蹤可以暫停,開始和停止操作,可以同時啟動多個跟蹤,同時跟蹤不同的資料庫和表
如果和Sql的Database Engine Tuning Advisor配合使用的話就更好了,可以分析出來你的Sql語句效能如果,而且還會告訴你怎麼修改會更好,我們一起來看一下吧
Database Engine Tuning Advisor使用方法
有了這個跟蹤的記錄我們怎麼樣使用Database Engine Tuning Advisor對其進行分析最佳化呢?當然第一步我們要先把跟蹤到的記錄匯出到檔案.trc類型的檔案。單擊檔案--另存新檔
假如我們把檔案儲存為123.trc
現在我們來開啟Database Engine Tuning Advisor 我們單擊開始--程式--Microsoft SQL Server 2005--效能工具--Database Engine Tuning Advisor
如
和上面一樣我們要先輸入資料庫的登入資訊
單擊串連進入如下介面
我們可以看一下介面,一般不用選擇只要安預設的就OK了,需要配置的我上面都有注釋。在這裡大家一定要記得選擇用於工作負載的資料庫和表,意思就是設定要分析的資料庫否則會分析不成功。
現在就可以單擊開始了
在這裡我們可以看到分析成功後的分析報告,這還不算,我們單擊上面的
建議選項卡
在這裡還給出了你的那些表,需要最佳化,應該怎麼建立索引和視圖才能更有效提高效能,更好玩的是連需要最佳化的Sql語句都給產生好了,
我們直接複製執行就要可以了。