SQL Server 2008效能監視和優化概述

iSQlServer發表於2008-11-25

監視資料庫的目的是評估伺服器的效能。有效監視包括定期拍攝當前效能的快照來隔離導致問題的程式,以及連續收集資料來跟蹤效能趨勢。Microsoft SQL Server 和 Microsoft Windows 作業系統提供實用工具,使您可以檢視資料庫的當前狀態並跟蹤效能的狀態變化。

監視 SQL Server 使您可以執行下列操作:

確定是否可以提高效能。例如,通過監視常用查詢的響應時間,可以確定是否需要更改表的查詢或索引。

評估使用者活動。例如,通過監視嘗試連線到 SQL Server 例項的使用者,可以確定安全設定是否充分以及是否需要測試應用程式或開發系統。例如,通過在執行 SQL 查詢時對其進行監視,可以確定這些查詢是否編寫正確並生成預期的結果。

解決任何問題或除錯應用程式元件(如儲存過程)。

監視操作非常重要,因為 SQL Server 在動態環境中提供服務。應用程式中的資料在變化。使用者需要的訪問型別在變化。使用者連線的方式在變化。甚至,訪問 SQL Server 的應用程式的型別也可能在變化,而 SQL Server 自動管理系統級資源(如記憶體和磁碟空間),因此對廣泛系統級手動優化的需要已降至最低。但是,管理員可以通過監視來標識效能趨勢來確定是否有必要進行更改。

若要有效監視 SQL Server 的任何元件,請按下列步驟進行操作:

確定監視目標。

選擇相應工具。

標識要監視的元件。

選擇那些元件的度量。

監視伺服器。

分析資料。

下面將依次介紹這些步驟。

 確定監視目標
若要有效監視 SQL Server,必須清楚地確定監視原因。下面列出了可能的原因:

建立效能基線。

標識一段時間內的效能變化。

診斷特定效能問題。

標識要優化的元件或程式。

比較對不同客戶端應用程式效能的影響。

稽核使用者活動。

在不同負荷下測試伺服器。

測試資料庫體系結構。

測試維護計劃。

測試備份和還原計劃。

確定何時修改硬體配置。

 選擇相應工具
確定監視原因後,必須選擇相應的工具。Windows 作業系統和 SQL Server 提供了一整套用於在大型事務環境中監視伺服器的工具。這些工具清楚地顯示 SQL Server 資料庫引擎例項或 SQL Server Analysis Services 例項的狀態。

Windows 提供下列工具來監視在伺服器上執行的應用程式:

系統監視器,使您可以收集和檢視有關活動(如記憶體、磁碟和處理器使用)的實時資料。

效能日誌和警報。

工作管理員。

有關 Windows Server 或 Windows 工具的詳細資訊,請參閱 Windows 文件。

SQL Server 提供下列工具來監視 SQL Server 的元件:

SQL 跟蹤

SQL Server Profiler

SQL Server Management Studio 活動監視器

SQL Server Management Studio 圖形顯示計劃

儲存過程

資料庫控制檯命令 (DBCC)

內建函式

跟蹤標誌

有關 SQL Server 監視工具的詳細資訊,請參閱效能監視和優化工具。

 標識要監視的元件
監視 SQL Server 例項的第三步是標識監視元件。例如,如果使用 SQL Server Profiler跟蹤伺服器,則可以定義該跟蹤來收集有關特定事件的資料。還可以排除不適合您的情況的事件。

 選擇監視元件的度量指標
確定監視元件後,就需要確定監視元件的度量。例如,選擇跟蹤中包括的事件後,可以選擇只包括有關事件的特定資料。限制只跟蹤與該跟蹤有關的資料可最大限度減少執行跟蹤所需的系統資源。

 監視伺服器
若要監視伺服器,請執行已配置為收集資料的監視工具。例如,定義跟蹤後,可以執行該跟蹤以收集有關伺服器中生成的事件的資料。

 分析資料
跟蹤結束後,分析資料以檢視是否實現了監視目標。如果沒有,請修改用於監視伺服器的元件或度量。

下面概述了捕獲事件資料並使用這些資料的過程。

使用篩選器限制收集的事件資料。
限制事件資料使系統可以集中在與監視方案有關的事件上。例如,若要監視執行速度慢的查詢,可使用篩選器只監視那些在特定資料庫中執行 30 秒以上的應用程式發出的查詢。有關詳細資訊,請參閱如何設定跟蹤篩選器 (Transact-SQL) 和如何在跟蹤中篩選事件 (SQL Server Profiler)。

監視(捕獲)事件。
一旦啟用,活動監視就從指定的應用程式、SQL Server 例項或作業系統捕獲資料。例如,使用系統監視器監視磁碟活動時,監視將捕獲事件資料(如磁碟讀取和寫入)並在螢幕上顯示該資料。有關詳細資訊,請參閱監視資源使用情況(系統監視器)。

儲存捕獲的事件資料。
儲存捕獲的事件資料使您可以在以後對其進行分析,乃至使用 SQL Server Profiler重播該資料。捕獲的事件資料將儲存到檔案,該檔案可以載入回最初建立它的工具中以用於分析。SQL Server Profiler允許將事件資料儲存到 SQL Server 表。儲存捕獲的事件資料對建立效能基線非常重要。在比較最近捕獲的事件資料來確定是否已獲得最佳效能時,將儲存並使用效能基線資料。有關詳細資訊,請參閱使用 SQL Server Profiler。

建立包含為捕獲事件所指定設定的跟蹤模板。
跟蹤模板包括有關事件本身、事件資料和用於捕獲資料的篩選器的規範。這些模板可用於以後監視特定事件集,而無需重新定義事件、事件資料和篩選器。例如,若要頻繁監視死鎖數以及那些死鎖所涉及的使用者數,您可以建立一個模板來定義那些事件、事件資料和事件篩選器;儲存此模板;並在下次監視死鎖時重新應用此篩選器。為此,SQL Server Profiler使用跟蹤模板。有關詳細資訊,請參閱如何設定跟蹤定義預設設定 (SQL Server Profiler)和如何建立跟蹤模板 (SQL Server Profiler)。

分析捕獲的事件資料。
為了進行分析,將捕獲的已儲存事件資料載入到捕獲該資料的應用程式中。例如,可以將通過 SQL Server Profiler捕獲的跟蹤重新載入到 SQL Server Profiler中進行檢視和分析。有關詳細資訊,請參閱使用 SQL Server Profiler 檢視和分析跟蹤。
對事件資料的分析包括確定所發生的事件和發生原因。利用這些資訊可以做一些更改(如根據所執行的分析型別新增更多記憶體、更改索引、更正使用 Transact-SQL 語句或儲存過程的編碼問題等)來提高效能。例如,可以使用資料庫引擎優化顧問分析通過 SQL Server Profiler捕獲的跟蹤並根據結果生成索引建議。有關詳細資訊,請參閱優化物理資料庫設計。

重播捕獲的事件資料。
事件重播使您可以建立捕獲資料時的資料庫環境的測試副本,並可以重複捕獲的事件,就像最初在真實系統上捕獲事件一樣。只有 SQL Server Profiler中提供此功能。可以按事件最初發生時的速度重播它們,儘可能快地重播(增加系統的壓力),或者儘可能一次重播一步(每個事件發生後對系統進行分析)。通過在測試環境中分析確切事件,可以防止對生產系統產生有害影響。有關詳細資訊,請參閱重播跟蹤。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-503180/,如需轉載,請註明出處,否則將追究法律責任。

相關文章