SQL Server Profiler 是一個功能豐富的界面,用於建立和管理跟蹤並分析和重播跟蹤結果。 事件保存在一個跟蹤文件中,稍後試圖診斷問題時,能夠對該文件進行分析或用它來重播特定的一系列步驟。sql
在實際開發中,咱們的數據庫應用系統由於不可避免會存在有大量表,視圖,索引,觸發器,函數,存儲過程,sql語句等,因此會出現一系列問題,有問題不可怕,找對工具很重要。接下來我就介紹一款性能檢測工具--SQL Server Profiler,它能夠對sql運行狀況進行跟蹤,從而找出問題所在。 SQL Server Profiler 是 SQL 跟蹤的圖形用戶界面,用於監視數據庫引擎或 Analysis Services 的實例。 您能夠捕獲有關每一個事件的數據並將其保存到文件或表中供之後分析。數據庫
例如:安全
能夠對生產環境進行監視.服務器
瞭解哪些存儲過程因爲執行速度太慢而影響了性能。數據庫設計
同時SQL Server Profiler 用於下列活動中:函數
逐步分析有問題的查詢以找到問題的緣由。工具
查找並診斷運行慢的查詢。性能
捕獲致使某個問題的一系列 Transact-SQL 語句。 而後用所保存的跟蹤在某臺測試服務器上覆制此問題,接着在該測試服務器上診斷問題。測試
監視 SQL Server 的性能以優化工做負荷。 有關爲數據庫工做負荷而優化物理數據庫設計的信息,請參閱數據庫引擎優化顧問。優化
使性能計數器與診斷問題關聯。
SQL Server Profiler 還支持對 SQL Server 實例上執行的操做進行審覈。 審覈將記錄與安全相關的操做,供安全管理員之後複查。
1.首先是打開SQL Profiler,以下圖:
2.打開工具選擇對應的服務器,以下圖:
3.點擊肯定以後將標籤頁切換到事件選擇頁籤,勾選以下選項(有的服務器默認會顯示全部列,這裏選擇下圖中的三個便可),以下圖:
5.打開列篩選器的相應界面後,能夠根據兩種方式進行篩選過濾,分別是DataBaseName和HostName,以下圖:(如下步驟可跳過,直接點擊運行也可看到數據)
6.若是是選擇DataBaseName進行過濾的時候,返回主界面找到你所須要跟蹤的數據庫名,以下圖:
7.查找到對應的數據庫名稱以後,能夠在DataBaseName過濾條件中填入對應的值,以下圖:
8.也可經過程序主機名進行過濾(例如:個人程序主機名是SKTNB033),若是不清楚本身的主機名可經過語句(select HOST_NAME())進行查詢。
9.就我我的而言,SQL Profiler能夠用作兩個用途,一個是查看執行過的SQL,將語句copy出來放到查詢分析器執行,找到問題數據源頭;另一個就是查看語句執行時間,找出耗時較長的語句對其進行優化,以下圖: