利用SQL Server 2008進行優化性能
數據服務管理的一個重要方面是,確保數據庫和應用程序能夠提供所需級別的性能。SQL Server 2008 提供了各種工具,它們可用于收集及分析性能數據,并可優化數據庫性能,以滿足常見數據訪問工作負荷的要求。
利用 SQL Server Performance Data Collection 執行數據收集和監視
SQL Server 2008 提供了 Performance Data Collection,它使用戶能夠收集、分析、疑難解答以及存儲 SQL Server 診斷信息。Performance Data Collection 為性能監視提供了端對端解決方案,監視操作包括低開銷的數據收集、集中存儲以及針對性能數據生成可分析的報表。可以利用 SQL Server Management Studio 管理收集任務,如啟用數據收集器、啟動收集組,并將收集組報告視為性能面板。也可以 Performance Data Collection 為基礎,利用系統存儲過程和 Performance Studio API 創建自己的性能管理工具。
低開銷的數據收集
Performance Data Collection 提供了統一的數據收集基礎結構,其中包含了想要監視的各個SQL Server 實例中的數據收集器。數據收集器很靈活,可以管理數據收集范圍,以適應開發、測試和生產環境。利用數據收集框架,可以方便地收集性能數據和一般的診斷數據。
數據收集器基礎結構引進了下列新概念和定義:
◆Data Provider(數據提供程序)。性能或診斷信息的來源,包括 SQL Trace(SQL跟蹤)、Performance (性能)計數器以及 Transact-SQL 查詢(如在 “動態管理視圖”中檢索數據)。
◆Collector Type(收集器類型)。這是一種邏輯包裝,可提供用于從數據提供程序中收集數據的機制。
◆Collection Item(集合項)。收集器類型的實例。在創建集合項時,可為該項定義輸入屬性和收集頻率。集合項不能單獨存在。
◆Collection Set(集合組)。數據收集的基本單位。集合組就是一組可在 SQL Server 實例中定義及部署的集合項。集合組可彼此獨立運行。
◆Collection Mode(收集模式)。集合組中的數據被收集及存儲的方式。收集模式可設為緩存或非緩存。收集模式影響集合組中已存在的作業和計劃類型。
數據收集器是可以擴展的,并支持添加新的數據提供程序。
性能數據的集中存儲
配置數據收集器之后,將創建默認名稱為 MDW 的關系數據庫,它將作為管理數據倉庫存儲收集來的數據。該數據庫可作為數據收集器駐留在同一系統中,也可駐留在單獨的服務器上。管理數據倉庫中的對象被分為下列三類預配置架構,每種架構都有不同的用途:
Core 架構包括表和存儲過程,用于組織和識別收集來的數據。
Snapshot 架構包括數據表、視圖以及其他對象,以支持來自標準收集器類型的數據。
Custom_Snapshot 架構能夠創建新數據表,以支持用戶定義的集合組,這些集合組是從標準的和擴展的收集器類型創建的。
分析報告
Performance Data Collection 有助于用戶利用一組健壯的預配置系統集合組,快速分析收集來的數據,這些集合組包括 Server Activity (服務器活動)、Query Statistics(查詢統計信息) 和 Disk Usage(磁盤使用情況)。Server Activity 系統集合組是大多數監視和疑難解答應用場景的起點。一組與每個系統集合組相關的報告將在 SQL Server Management Studio 中發布,這些報告也可用作性能面板,幫助用戶分析數據庫系統的性能。
優化數據庫性能
SQL Server 2008 提供了多種集成良好的工具,以優化數據庫環境。這些工具使操作員和管理員能夠收集統計數據和其他數據,以便在企業中提供優化的數據庫環境性能。
SQL Server Profiler
對于通過 SQL Trace 提供的功能,SQL Server Profiler為其提供圖形化界面,以顯示 SQL Server 在內部如何解析查詢。有了 SQL Server Profiler,就可以捕獲由 SQL Server 實例上的工作負荷所生成的活動。被捕獲及顯示的事件可利用預定義的模板進行定義,可以修改系統提供的模板來創建自己的模板。可將被捕獲的工作負荷保存到表中或文件中,以供未來評估。可以根據連接上下文,立即在 SQL Server Management Studio 中啟動新跟蹤。例如,如想跟蹤特定 Query Editor (查詢編輯器)會話的語句執行情況,新的Trace Query in SQL Server Profiler 命令將立即啟動跟蹤,且該跟蹤將查詢窗口 SPID 用作篩選器。
在生產系統中收集工作負荷后,可在新的測試系統上重播這些工作負荷,以使用真實的工作負荷驗證性能。也可將這些工作負荷與System Monitor Performance Counter (系統監視性能計數器)日志關聯起來,以查看工作負荷對系統性能的影響。
在 SQL Server 2008 中,可以利用 SQL Server Profiler 捕獲 Microsoft SQL Server™ 2000、Microsoft SQL Server™ 2005 、SQL Server 2008 數據庫引擎實例中的活動,以及 SQL Server 2005 和 SQL Server 2008 Analysis Services 實例中的活動。
Database Engine Tuning Advisor
可以利用 Database Engine Tuning Advisor(數據庫引擎優化顧問,DTA)洞察數據庫的現有索引和分區結構,并通過創建適當的索引和分區結構來獲取與提高數據庫性能有關的建議。除了優化索引結構外,DTA 可以推薦新的物理數據結構,包括分區。DTA 還能夠對多臺服務器進行調整,并限制調整算法運行的時間。可以通過命令行以及圖形化工具使用 DTA。命令行工具能夠利用高級腳本選項。
SQL Server Management Studio 報告
除了 Performance Studio 提供的性能面板報告外,SQL Server Management Studio 還包括大量的服務器級和數據庫級標準報告,可用于查看性能統計和實時活動。可以利用這些報告疑難解答由于資源消耗過大或并行性導致的性能問題。圖5顯示了“內存占用”標準報告。
SQL Server 管理包
SQL Server Management Pack for Microsoft System Center Operations Manager 可監視SQL Server 2008 的可用性和性能,并且在發生配置問題時發出警報。Management Pack(管理包)收集 Event Log(事件日志)警報,并提供相關的知識文章,以提供附加的用戶詳情、可能的原因并推薦解決方法。
【編輯推薦】