SQL Server 監視(Monitoring)體系架構

SQL Server 監視(Monitoring)體系架構


在SQL Server的日常管理中,讓SQL Server高效運行,且性能良好,是DBA需要做的事。DBA需要了解日常的性能運行情況,對性能進行分析和調優,需要對線上環境部署監控。監視(Monitoring)是SQL Server數據庫引擎的一大主題,瞭解整個數據庫引擎的監視架構,如何做好全面的監控,是很必要的。筆者結合MSDN的介紹和自己的理解來談談監視(Monitoring)和監視事件(Monitoring Events)的體系架構。

 

監視(Monitoring

 

監視(Monitoring)主題包括:

在SQL Server實用工具中監視SQL Server的實例(SQL Server Utility

          描述 SQL Server 實用工具中的監視功能。

日誌文件查看器(Log File Viewer

          介紹顯示有關 SQL Server 組件的記錄信息的方法。

監視資源使用情況(Monitoring Resource Usage

          包含有關使用 Windows 系統監視器跟蹤 SQL Server 中的資源使用情況的信息。

監視事件(Monitoring Events

          包含有關使用 SQL Server Profiler 和 SQL 跟蹤監視 SQL Server 事件的信息。

數據收集(Data Collection

          包含有關使用 SQL Server 數據收集器來獲取和保存從多個源收集的數據的信息。

SQL Server 擴展事件(SQL Server Extended Events

          在 SQL Server 2008 及以後版本中,可以使用擴展事件來排除性能問題。它是一種適用於服務器系統的事件基礎結構。擴展事件可更加深入地探查 SQL Server 的內部工作原理,可在複雜的故障排除情況中使用。

 

監視事件(Monitoring Events

 

監視事件(Monitoring Events)主要包括:

SQL 跟蹤(SQL Trace

          Microsoft SQL Server 提供 Transact-SQL 系統存儲過程來創建對 SQL Server 數據庫引擎實例的跟蹤。可以不使用 SQL Server Profiler,而使用這些系統存儲過程從您自己的應用程序中手動創建跟蹤。這使您可以針對企業的特定需要編寫自定義應用程序。

SQL Server Profiler

          Microsoft SQL Server Profiler 是 SQL 跟蹤的圖形用戶界面,用於監視 數據庫引擎或 Analysis Services 的實例。您可以捕獲有關每個事件的數據並將其保存到文件或表中供以後分析。例如,可以對生產環境進行監視,瞭解哪些存儲過程由於執行速度太慢影響了性能。

事件通知(Event Notifications

          介紹可向 Service Broker 發送有關服務器和數據庫事件信息的作爲特殊類別數據庫對象的事件通知。

 

SQL Server 提供 SQL 跟蹤(SQL Trace事件通知(Event Notifications來監視數據庫引擎中發生的事件。

 

通過記錄指定事件,SQL 跟蹤可以幫助您解決性能問題、審覈數據庫活動、收集用於測試環境的示例數據、調試 Transact-SQL 語句和存儲過程以及爲性能分析工具收集數據。可以通過 SQL Server Profiler(一個圖形用戶界面)或在命令行輸入的 Transact-SQL 系統存儲過程訪問 SQL 跟蹤運行時,SQL 跟蹤在數據庫引擎中的事件發生時捕獲事件。捕獲的事件是您選擇在某進程中進行監視的事件類實例,此進程稱爲一個 trace。每個事件類都包括一個事件名稱和多個數據列(用於描述特定情況下發生的事件類的屬性)。跟蹤中指定事件類的某個事件發生時,SQL 跟蹤將把事件名稱和關聯數據記錄到跟蹤文件中。

 

通常,通過 SQL Server Profiler 訪問 SQL 跟蹤。還可以使用 Transact-SQL 系統存儲過程來訪問 SQL 跟蹤。SQL Server Profiler 可以使用 SQL 跟蹤的全部事件捕獲功能並添加跟蹤表信息、將跟蹤定義保存爲模板、提取查詢計劃和死鎖事件作爲單獨的 XML 文件以及重播跟蹤結果以進行診斷和優化的能力。

 

事件通知將有關 SQL 跟蹤捕獲的許多相同事件的信息發送到 Service Broker 服務。但事件通知與跟蹤不同,它可用於在 SQL Server 內響應事件執行操作。由於事件通知異步執行,因此這些操作不佔用即時事務定義的任何資源。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章