1. 程式人生 > 實用技巧 >在SQL Server中設定擴充套件事件,幫助你更輕鬆地配置會話及收集分析資料

在SQL Server中設定擴充套件事件,幫助你更輕鬆地配置會話及收集分析資料

dbForge Studio for SQL Server為有效的探索、分析SQL Server資料庫中的大型資料集提供全面的解決方案,並設計各種報表以幫助作出合理的決策。

點選下載dbForge Studio for SQL Server最新試用版

擴充套件事件是一種有用且方便的解決方案,旨在監視您的系統性能。它在SQL Server 2008中首次引入,現已成為全域性預設解決方案。SQL Server擴充套件事件適用於DBMS狀態監視,並幫助DB開發人員或DBA收集資訊,檢視資訊並進行分析。

這些資訊的價值是切實的。它使您能夠檢測任何效能問題或瓶頸。並且,即使它不能直接解決問題的原因,則至少可以指導您正確的方向。在監視設定之前,它甚至可以讓您從之前獲得一些資訊。

該解決方案是可配置的,並且擴充套件性非常好。它具有圖形介面,可幫助使用者更輕鬆地配置會話以及收集和分析資料。

所有資訊都存在於system_health會話中-這是啟動SQL Server時啟動的預設預配置會話。

圖1 system_health會話

在system_health會話提供的資料中,請注意以下幾點:

  • 死鎖
  • 閂鎖等待
  • 鎖定等待
  • 連線錯誤
  • 安全錯誤
  • 嚴重性錯誤

但是,如果您研究某些特定問題,則最好為SQL擴充套件事件配置其他會話。您可以定義您感興趣的事件,以及系統應如何向您報告這些事件。

SQL開發人員只需幾分鐘即可配置此特定會話。因此,一點點的工作就可以確保您隨時隨地接收特定的資訊。

讓我們來看一個配置此類特定會話以收集死鎖資料的示例。

在“Session”視窗中,選擇“General”部分,然後選中“Schedule”部分下的“Start the event session at server startup”選項:

圖2死鎖會話

進入“事件”部分。在這裡,您需要配置事件。至於“資料儲存”和“高階”部分,您可以選擇設定它們。

圖3死鎖會話中的事件

建立Deadlocks會話所需的程式碼將類似於以下內容:

CREATE EVENT SESSION [Deadlocks] ON SERVER
ADD EVENT sqlserver.xml_deadlock_report
ADD TARGET package0.event_file(SET filename=N’Deadlocks’)

WITH (MAX_MEMORY=4096 KB,EVENT_RETENTION_MODE=ALLOW_SINGLE_EVENT_LOSS,MAX_DISPATCH_LATENCY=30 SECONDS,MAX_EVENT_SIZE=0 KB,MEMORY_PARTITION_MODE=NONE,TRACK_CAUSALITY=OFF,STARTUP_STATE=ON)
GO

SQL Server擴充套件事件不是執行SQL Server稽核的唯一方法。dbForge Studio for SQL Server中提供了諸如Event Profiler之類的替代方法,這些替代方法基於SQL跟蹤功能。這是一個免費的解決方案,它還記錄SQL Server事件並允許您分析它們。資訊儲存在單獨的檔案中,分析人員可以在需要時使用它。

此外,該工具非常快捷-需要幾秒鐘來啟動和載入資料。它根本不會給伺服器增加負擔,它使您可以過濾結果以方便使用。在下面,您可以檢視事件探查器配置的示例。

選擇跟蹤型別:

圖4選擇跟蹤型別(1)

圖5選擇跟蹤型別(2)

選擇要捕獲的元素並獲取以下資訊:

圖6選擇執行

圖7選擇動作

篩選器可用於更有針對性和方便的檢視。您可以根據需要指定這些過濾器:

圖8指定跟蹤過濾器

配置要顯示的列:

圖9選擇列

看一下已編譯跟蹤檔案的示例:

圖10追蹤結果

當前,SQL Server擴充套件事件是最智慧的解決方案。每個新的主要版本的SQL Server都會出現更多管理它們的工具,從而使您的配置更加簡單。

點選下載dbForge Studio for SQL Server,立刻體驗吧!