天天看點

利用SQL Profiler 追蹤資料庫操作

SQL Server 事件探查器 是一個界面,用于建立和管理跟蹤并分析和重播跟蹤結果。 這些事件儲存在一個跟蹤檔案中,稍後試圖診斷問題時,可以對該檔案進行分析或用它來重播一系列特定的步驟。

SQL Server 事件探查器

Microsoft SQL Server 事件探查器 是 SQL 跟蹤的圖形使用者界面,用于監視 資料庫引擎 或 Analysis Services 的執行個體。 您可以捕獲有關每個事件的資料并将其儲存到檔案或表中供以後分析。 例如,可以對生産環境進行監視,了解哪些存儲過程由于執行速度太慢影響了性能。 SQL Server 事件探查器 用于如下活動:

  • 逐漸分析有問題的查詢以找到問題的原因。
  • 查找并診斷運作慢的查詢。
  • 捕獲導緻某個問題的一系列 Transact-SQL 語句。 然後用所儲存的跟蹤在某台測試伺服器上複制此問題,接着在該測試伺服器上診斷問題。
  • 監視 SQL Server 的性能以優化工作負荷。 有關為資料庫工作負荷而優化實體資料庫設計的資訊
  • 使性能計數器與診斷問題關聯。
注意:SQL Server 事件探查器 還支援對 SQL Server 執行個體上執行的操作進行稽核。 稽核将記錄與安全相關的操作,供安全管理者以後複查。

 事件

事件是在 SQL Server 資料庫引擎執行個體中生成的操作。 示例包括:

  • 登入連接配接、失敗和斷開。
  • Transact-SQL 

    SELECT

    INSERT

    UPDATE

     和 

    DELETE

     語句。
  • 遠端過程調用 (RPC) 批處理狀态。
  • 存儲過程的開始或結束。
  • 存儲過程中的語句的開始或結束。
  • SQL 批處理的開始或結束。
  • 寫入到 SQL Server 錯誤日志的錯誤。
  • 在資料庫對象上擷取或釋放的鎖。
  • 打開的遊标。
  • 安全權限檢查。

啟動SQL Profiler工具

如果你在安裝SqlServer的時候勾上了這個工具,那麼就一定可以搜尋的出來,我在win10的情況下直接進行搜尋就可以了。

利用SQL Profiler 追蹤資料庫操作

那麼如果你不是win10,也可以直接打開SQL server 然後點選工具就可以看到該工具了!

利用SQL Profiler 追蹤資料庫操作

 我們點選下之後會跳出來SQL server Profiler這個工具,需要我們進行連接配接到 SQL Server 執行個體的權限。

利用SQL Profiler 追蹤資料庫操作

成功連接配接之後會跳出一個彈框,那麼在此其中去選擇你要跟蹤的事件。

利用SQL Profiler 追蹤資料庫操作

SQL profiler支援多連接配接跟蹤,那麼也就是可以分布式監控了,那麼我們點選運作,就可以看到這樣的可視化界面了。

利用SQL Profiler 追蹤資料庫操作

我用它我無非就是看下執行的什麼SQL還有時間了,我執行了一條這樣的sql,效果圖如下。

use EFCore      
利用SQL Profiler 追蹤資料庫操作

從剛才的15行直接變成了313,是不是挺可怕的,當你不限制,分布式監控的情況下一秒幾千行。。。最好還是要做一做事件限制和資料列。

 那麼如何儲存記錄日志呢?

利用SQL Profiler 追蹤資料庫操作

注意:關閉了這個可視化界面,隻要你的服務沒有關閉,那麼這個是一直跑着呢,怎麼停止呢? (選中那麼點那個)

利用SQL Profiler 追蹤資料庫操作

剛才我上面說過,一下子出來了那麼多記錄,我們應該怎麼辦,網上很多底層的東西,類似CPU,程序号什麼的,我是個渣渣,我隻會TextData,大概就是這麼做吧。

利用SQL Profiler 追蹤資料庫操作

 利用SQL profile可以記錄mssql的資料庫操作,這無疑是微軟技術的糖果。