SQL Server Profiler的使用
這裡使用SQL Server 2008 R2版本
一、SQL Server Profiler的使用
1. 在安裝SQL Server 資料庫時,請保證安裝了SQL Server Profiler,預設情況全部安裝都會自動安裝上。
2. 開啟SQL Server Management Studio,在選單中,找到“工具”選單,找到SQL Server Profiler選單項,如下圖所示。
3. 選擇“事件選擇”,勾選常用的幾項即可,如下圖所示。
4. 選擇“顯示所有列”,之後在列表中,勾選“DatabaseName”項。
5. 設定篩選器:
過濾資料庫名稱:因為一個數據庫例項中如果有多個數據庫,那麼不篩選資料庫名稱,那麼所有資料庫上的執行語句都能監控得到。
還可以設定Duration,篩選不同執行時間的sql語句,例如可以過濾執行時間較長的sql語句,選擇可以優化sql語句。
如果同一個資料庫,多個人訪問,只想檢測自己操作的語句怎麼辦?可以給資料庫建立一個自己登陸的資料庫賬戶(檢測完後可以刪除此使用者),之後,在LoginName篩選器中,篩選自己登陸的資料庫賬戶即可。
篩選監測TextData:%是個萬用字元,意思就是篩選select開頭的語句。當然這可以自己隨便定義,如update%,delete%....。
設定之後點選【執行】則開始監控了,監控畫面如下。
我們從上圖上依次說明 為:
TextData 依賴於跟蹤中捕獲的事件類的文字值;
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 依賴於跟蹤中捕獲的事件類的二進位制值。
對於監控的內容,可以儲存,在監控介面的【檔案】選單中,選擇另存為,選擇想儲存的格式即可,下次如果想看資料,可以直接開啟儲存的檔案。
二、資料庫引擎優化顧問
找到資料庫引擎優化顧問,進入如下介面
一般不用選擇只要按預設的就OK了,在這裡一定要記得選擇用於工作負荷的資料庫和表,意思就是設定要分析的資料庫否則會分析不成功。 現在就可以單擊開始了
在這裡我們可以看到分析成功後的分析報告,這還不算,我們單擊上面的 建議選項卡
在這裡還給出了你的哪些表,需要優化,應該怎麼建立索引和檢視才能更有效的提高效能,更好玩的是連需要優化的Sql語句都給生成好了, 我們直接複製執行就要可以了。