1. 程式人生 > >利用SQL Profile 追蹤資料庫操作

利用SQL Profile 追蹤資料庫操作

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

SQL Server 事件探查器

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

  • 逐步分析有問題的查詢以找到問題的原因。

  • 查詢並診斷執行慢的查詢。

  • 捕獲導致某個問題的一系列 Transact-SQL 語句。 然後用所儲存的跟蹤在某臺測試伺服器上覆制此問題,接著在該測試伺服器上診斷問題。

  • 監視 SQL Server 的效能以優化工作負荷。 有關為資料庫工作負荷而優化物理資料庫設計的資訊

  • 使效能計數器與診斷問題關聯。

注意:SQL Server 事件探查器 還支援對 SQL Server 例項上執行的操作進行稽核。 稽核將記錄與安全相關的操作,供安全管理員以後複查。

 事件

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

  • 登入連線、失敗和斷開。
  • Transact-SQL SELECTINSERTUPDATE 和 DELETE 語句。
  • 遠端過程呼叫 (RPC) 批處理狀態。
  • 儲存過程的開始或結束。
  • 儲存過程中的語句的開始或結束。
  • SQL 批處理的開始或結束。
  • 寫入到 SQL Server 錯誤日誌的錯誤。
  • 在資料庫物件上獲取或釋放的鎖。
  • 開啟的遊標。
  • 安全許可權檢查。

啟動SQL Profiler工具

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

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

 我們點選下之後會跳出來SQL server Profiler這個工具,需要我們進行連線到 SQL Server 例項的許可權。

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

SQL profiler支援多連線跟蹤,那麼也就是可以分散式監控了,那麼我們點選執行,就可以看到這樣的視覺化介面了。

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

use EFCore

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

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

 

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

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

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