0.簡介
SQL Server 提供 SQL 追蹤和事件通知來監視資料庫引擎中發生的事件。
通過記錄指定事件,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 內響應事件執行操作。由於事件通知非同步執行,因此這些操作不佔用即時事務定義的任何資源。
下列主題說明如何使用 SQL Server Profiler、SQL 追蹤和事件通知來監視事件。
SQL Server Profiler介紹
SQL Server Profiler 是用於從伺服器捕獲 SQL Server 事件的工具。事件儲存在一個追蹤檔案中,可在以後對該檔案進行分析,也可以在試圖診斷某個問題時,用它來重播某一系列的步驟。SQL Server Profiler 用於下列活動中:
SQL Server Profiler 還支援對 SQL Server 執行個體上執行的操作進行審核。審核將記錄與安全相關的操作,供安全性系統管理員以後複查。
如何建立跟蹤
- 在[檔案] 功能表上,單擊“建立跟蹤”,並串連到 SQL Server 執行個體。 此時,將顯示“跟蹤屬性”對話方塊。
- 在“跟蹤名稱”框中,鍵入跟蹤的名稱。
- 在“使用模板”列表中,為此跟蹤選擇一個跟蹤模板;如果不想使用模板,請選擇“空白”。
- 若要儲存跟蹤結果,請執行下列操作之一:
- 單擊“儲存到檔案”將跟蹤捕獲到檔案中。指定“設定最大檔案大小”的值。預設值為 5 MB。或者,選擇“啟用檔案換用”,以便當檔案大小達到最大值時自動建立新檔案。也可以選擇“伺服器處理跟蹤資料”,由正在運行跟蹤的服務而不是用戶端應用程式來處理跟蹤資料。在伺服器處理跟蹤資料時,即使是在壓力較大的情況下也不會跳過事件,但是伺服器效能可能會受到影響。
- 單擊“儲存到表”將跟蹤捕獲到資料庫表中。
根據需要,可以單擊“設定最大行數”,並指定值。
- 根據需要,可以選中“啟用跟蹤停止時間”複選框,再指定停止日期和時間。
- 若要添加或刪除事件、資料列或篩選器,請單擊“事件選擇”選項卡。有關詳細資料,請參閱:如何指定追蹤檔案的事件和資料列 (SQL Server Profiler)
- 單擊“運行”啟動跟蹤功能。
注意
如果不將跟蹤結果儲存到檔案或表中,則當 SQL Server Profiler開啟時可以查看跟蹤。但是,在停止跟蹤並關閉 SQL Server Profiler之後會丟失跟蹤結果。為了避免這種丟失跟蹤結果的情況,可以在關閉 SQL Server Profiler之前單擊[檔案] 功能表上的“儲存”來儲存結果。
根據需要,可以選中“啟用跟蹤停止時間”複選框,再指定停止日期和時間。
若要添加或刪除事件、資料列或篩選器,請單擊“事件選擇”選項卡。有關詳細資料,請參閱:如何指定追蹤檔案的事件和資料列 (SQL Server Profiler)
單擊“運行”啟動跟蹤功能。
在 SQL Server 2008 中,可以使用擴充事件來排除效能問題。擴充事件可更加深入地探查 SQL Server 的內部工作原理,可在複雜的故障排除情況中使用。有關詳細資料,請參閱 SQL Server 擴充事件。
主題 |
說明 |
SQL 追蹤簡介 |
說明 SQL 追蹤如何工作以及如何使用預存程序建立跟蹤。 |
SQL Server Profiler 簡介 |
說明如何使用 SQL Server Profiler 進行跟蹤。 |
最佳化工具 + 生產力和工具的效能 |
介紹可以經過最佳化來提高工具 + 生產力和工具效能的伺服器操作 |
最佳化伺服器效能 |
說明如何最佳化 SQL Server 來提高伺服器效能。 |
事件通知簡介 |
說明事件通知如何工作以及如何使用事件通知來監視和響應資料庫和伺服器事件 |
使用 SQL Server Management Studio 監視 |
說明如何使用 SQL Server Management Studio 來監視 SQL Server 效能。 |
監視錯誤記錄檔 |
說明如何使用 SQL Server 錯誤記錄檔和 Microsoft Windows 應用程式記錄檔來監視 SQL Server 活動。 |
用 Transact-SQL 陳述式監視 |
說明如何使用 Transact-SQL 陳述式來監視 SQL Server 執行個體。 |
參考
SQL Server 事件類別參考
其他資源
事件通知(資料庫引擎)
協助和資訊
擷取 SQL Server 2008 協助