資料庫監測sql執行

SQL Server Profiler可以檢測在數據上執行的語句,特別是有的項目不直接使用sql語句,直接使用ORM框架的系統處理資料庫的項目,在調試sql語句時,給了很大的幫助。

之前寫了使用SQL Server Profiler追蹤死鎖的文章《SQL Server Profiler追蹤資料庫死鎖》,這裡再簡單寫SQL Server Profiler使用過程中常用到的功能。

 

這裡使用SQL Server 2008 R2版本

1. 在安裝SQL Server 資料庫時,請保證安裝了SQL Server Profiler,默認情況全部安裝都會自動安裝上。

2. 打開SQL Server Management Studio,在菜單中,找到「工具」菜單,找到SQL Server Profiler菜單項,如下圖所示。

 

3. 選擇「事件選擇」,勾選常用的幾項即可,如下圖所示。

 

4. 選擇「顯示所有列」,之後在列表中,勾選「DatabaseName」項。

 

5. 設置篩選器,這裡設置只是過濾資料庫名稱,因為一個資料庫實例中如果有多個資料庫,那麼不篩選資料庫名稱,那麼所有資料庫上的執行語句都能監控得到。

還可以設置Duration,篩選不同執行時間的sql語句,例如可以過濾執行時間較長的sql語句,選擇可以優化sql語句。

如果同一個資料庫,多個人訪問,只想檢測自己操作的語句怎麼辦?可以給資料庫創建一個自己登陸的資料庫賬戶(檢測完後可以刪除此用戶),之後,在LoginName篩選器中,篩選自己登陸的資料庫賬戶即可。

 

設置之後點擊【運行】則開始監控了,監控畫面如下。

 

對於監控的內容,可以保存,在監控介面的【文件】菜單中,選擇另存為,選擇想保存的格式即可,下次如果想看數據,可以直接打開保存的文件。

Tags: