一、工具介紹
在實際開發中,我們的數據庫應用系統因為不可避免會存在有大量表,視圖,索引,觸發器,函數,存儲過程,sql語句等,所以會出現一系列問題,有問題不可怕,找對工具很重要。接下來我就介紹一款性能檢測工具--SQL Server Profiler,它可以對sql運行情況進行跟蹤,從而找出問題所在。
二、使用方法
1、打開工具
- 可以從開始菜單打開
- 也可以從數據庫界面打開:
2、新建跟蹤
a、點擊:文件->新建跟蹤
b、連接服務器,輸入地址、賬戶名、密碼
c、設置跟蹤名稱(常規選項)
名稱可以隨意取,如果使用多個跟蹤時,需要唯一名字。
d、選擇要跟蹤的事件(事件跟蹤選項)
設置完成后,單擊“運行”按鈕就可以了。
這里需要介紹一下列選擇器的含義:
- ApplicationName: 創建 SQL Server 連接的客戶端應用程序的名稱。此列由該應用程序傳遞的值填充,而不是由所顯示的程序名填充的;
- BinaryData: 依賴於跟蹤中捕獲的事件類的二進制值。
- ClientProcessID: 調用 SQL Server 的應用程序的進程 ID。
- CPU: 事件使用的 CPU 時間(毫秒)。
- Duration: 事件占用的時間。盡管服務器以微秒計算持續時間,SQL Server Profiler 卻能夠以毫秒為單位顯示該值,具體情況取決於“工具”>“選項”對話框中的設置
- EndTime: 事件結束的時間。對指示事件開始的事件類(例如 SQL:BatchStarting 或 SP:Starting)將不填充此列。
- LoginName: 用戶的登錄名(SQL Server 安全登錄或 Windows 登錄憑據,格式為“域\用戶名”)
- NTusername: Windows用戶名。
- Reads: 由服務器代表事件讀取邏輯磁盤的次數。
- TextDate: 依賴於跟蹤中捕獲的事件類的文本值;
- SPID: SQL Server 為客戶端的相關進程分配的服務器進程 ID。
- StratTime: 事件(如果可用)的啟動時間。
- Writes: 由服務器代表事件寫入物理磁盤的次數。
3、跟蹤頁面
單擊運行后的頁面,常用的就那些按鈕 開始、暫停、停止、清楚跟蹤記錄等 。鼠標懸浮就會有中文提示。可以同時啟動多個跟蹤,同時跟蹤不同的數據庫和表,還可以配合 SQL的數據庫引擎優化顧問 一起使用,可以分析出Sql語句性能,而且還會告訴你怎么修改會更好。
三、SQL Server Profiler的作用
- 對生產環境進行監視,以優化性能。
- 了解哪些存儲過程由於執行速度太慢而影響了性能。
- 逐步分析有問題的語句並找到問題的原因。
- 捕獲導致某個問題的一系列 Transact-SQL 語句。 然后用所保存的跟蹤在某台測試服務器上復制此問題,接着在該測試服務器上診斷問題。
- 使性能計數器與診斷問題關聯。
- SQL Server Profiler 還支持對 SQL Server 實例上執行的操作進行審核。 審核將記錄與安全相關的操作,供安全管理員以后復查。