程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL Server 2008 數據庫引擎優化顧問介紹

SQL Server 2008 數據庫引擎優化顧問介紹

編輯:關於SqlServer

1 數據庫引擎優化顧問概述

借助 Microsoft SQL Server 數據庫引擎優化顧問,您不必精通數據庫結構或深谙 Microsoft SQL Server,即可選擇和創建索引、索引視圖和分區的最佳集合。

數據庫引擎優化顧問分析一個或多個數據庫的工作負荷和物理實現。工作負荷是對要優化的一個或多個數據庫執行的一組 Transact-SQL 語句。在優化數據庫時,數據庫引擎優化顧問將使用跟蹤文件、跟蹤表或 Transact-SQL 腳本作為工作負荷輸入。可以在 SQL Server Management Studio 中使用查詢編輯器創建 Transact-SQL 腳本工作負荷。可以通過使用 SQL Server Profiler 中的優化模板來創建跟蹤文件和跟蹤表工作負荷。有關使用 SQL Server Profiler 創建可用作工作負荷的跟蹤的信息,請參閱SQL Server Profiler 簡介。

對工作負荷進行分析後,數據庫引擎優化顧問會建議您添加、刪除、或修改數據庫中的物理設計結構。此顧問還可針對應收集哪些統計信息來備份物理設計結構提出建議。物理設計結構包括聚集索引、非聚集索引、索引視圖和分區。數據庫引擎優化顧問會推薦一組物理設計結構,以降低工作負荷的開銷(由查詢優化器估計)。
 數據庫引擎優化顧問的優化功能

數據庫引擎優化顧問具備下列功能:

    * 通過使用查詢優化器分析工作負荷中的查詢,推薦數據庫的最佳索引組合。
    * 為工作負荷中引用的數據庫推薦對齊分區或非對齊分區。
    * 推薦工作負荷中引用的數據庫的索引視圖。
    * 分析所建議的更改將會產生的影響,包括索引的使用,查詢在表之間的分布,以及查詢在工作負荷中的性能。
    * 推薦為執行一個小型的問題查詢集而對數據庫進行優化的方法。
    * 允許通過指定磁盤空間約束等高級選項對推薦進行自定義。
    * 提供對所給工作負荷的建議執行效果的匯總報告。
    * 考慮備選方案,即:您以假定配置的形式提供可能的設計結構方案,供數據庫引擎優化顧問進行評估。

2 數據庫引擎優化顧問功能
據庫引擎優化顧問提供了一些新功能。通過這些新功能,無論是初學者還是有經驗的數據庫管理員都能對數據庫進行優化,以獲得更好的查詢性能。以下各部分列出了數據庫引擎優化顧問的新功能,並進行了說明:
 工作負荷分析功能得到改進

    * 處理引用瞬態表(如臨時表)的批。
    * 不會因為它不能分析某事件而終止優化,而是將該事件記錄到優化日志中,再繼續優化其他事件。
    * 分析和優化引用用戶定義函數的查詢。
    * 處理跟蹤中的所有 USE 語句,這些語句在優化多個數據庫時必不可少。
    * 使用工作負荷中的 LoginName 列(如果跟蹤工作負荷過程中有此列),以便在執行事件的用戶的環境中正確優化該事件。
    * 優化觸發器中的語句。

 可伸縮性增強

    * 使用工作負荷壓縮,讓數據庫引擎優化顧問既可縮短優化所需的時間,又能生成高質量的優化建議結果。
    * 使用算法以避免生成重復的統計信息,從而減少優化期間發生的 I/O 數量。

 優化集成

數據庫引擎優化顧問可以權衡包括篩選索引在內的各種不同類型的物理設計結構(如索引、索引視圖、分區)所提供的性能。不同結構可以在功能上有所重疊,以減少執行任何給定查詢時的開銷,從而可以考慮對多個設計結構進行集成配置,使數據庫引擎優化顧問能夠提供質量更高的建議。例如,如果僅考慮對一組表的聚集索引,再考慮對同一組表的水平范圍分區,這並不能提供這兩種物理結構配合使用時的工作情況。若要了解這兩種結構配合使用的情況,優化工具必須執行集成優化。
 優化多個數據庫

應用程序經常要訪問多個數據庫以完成工作,因此,工作負荷會頻繁引用多個數據庫中的對象。與 Microsoft SQL Server 2000 中的索引優化向導不同,數據庫引擎優化顧問可以同時優化多個數據庫。用戶可以指定一組要優化的數據庫,而數據庫引擎優化顧問會為所有選定數據庫提出建議。有關此功能的詳細信息,請參閱優化多個數據庫。
 將優化開銷分攤給測試服務器

優化較大的工作負荷會對所優化的服務器產生很大的開銷。這是因為在優化過程中,數據庫引擎優化顧問通常需要多次調用查詢優化器。除了生產服務器之外,還可以使用測試服務器來消除此問題。

在這種情況下,您將優化一個測試服務器。測試服務器具備與生產服務器相同的環境。收到優化測試服務器而產生的數據庫設計配置建議後,可以在維護期間將該建議應用於生產服務器。

使用測試服務器的傳統方法,是將生產服務器的所有數據復制到測試服務器,再優化測試服務器,然後針對兩台計算機的硬件差異調整產生的建議。數據庫引擎優化顧問無需將數據復制到測試計算機,也無需兩台計算機的硬件相同,就能利用測試服務器,從而節省了時間和資源。數據庫引擎優化顧問只將元數據、統計信息和硬件參數從生產服務器導入測試服務器。然後,數據庫引擎優化顧問對測試服務器執行大容量優化操作,而您可以在正常維護時將優化結果應用於生產服務器。有關此功能的詳細信息,請參閱減輕生產服務器優化負荷。

命令提示實用工具和圖形用戶界面工具



數據庫引擎優化顧問提供以下兩種用戶界面:

    * dta 命令提示實用工具,可以通過編寫腳本輕松組合數據庫引擎優化顧問的功能。
    * 數據庫引擎優化顧問圖形用戶界面 (GUI) 工具,可以輕松查看優化會話和結果。

 僅刪除優化

數據庫中的物理設計結構會隨時間積累,數據庫管理員需要一種刪除無用結構的方法。使用僅刪除優化選項,可以確定那些不再使用,或對給定工作負荷用處甚少的現有物理設計結構。在使用 dta 命令提示實用工具時,可以使用 –fx 參數來指定此優化選項。如果使用的是 GUI,則可以在“優化選項”選項卡中選中“僅評估現有 PDS 的使用率”,以指定此選項。

如果選擇此選項,數據庫引擎優化顧問將永不建議任何新結構。因此,此選項不能與添加索引、索引視圖或分區的其他選項一起使用。僅刪除優化選項也不能與保存全部現有結構的選項一起使用。有關可用於數據庫引擎優化顧問的優化選項的詳細信息,請參閱可用的優化選項。
 XML 支持

可以在數據庫引擎優化顧問 XML 輸入文件中,定義可使用數據庫引擎優化顧問 GUI 以及 dta 命令提示實用工具執行的所有優化操作。XML 輸入文件使用已發布的數據庫引擎優化顧問 XML 架構,該架構可以在 Microsoft SQL Server 安裝目錄的以下位置中找到:

C:Program FilesMicrosoft SQL Server100ToolsBinnschemassqlserver20047dtadtaschema.xsd

您還可以從 Microsoft 網站上的數據庫引擎優化顧問架構下載該架構。

通過使用 XML 輸入文件,您可以在優化數據庫時使用常用的 XML 工具,有經驗的數據庫管理員可以有更大的靈活性。例如,使用 XML 輸入文件,您可以指定現有的和假設的物理設計結構(索引、索引視圖、分區)的配置,然後,可以按應用了此配置的情況,使用 dta 命令提示實用工具優化數據庫。這可以實現假設分析,又不會在優化前產生實施新配置的開銷。有關數據庫引擎優化顧問 XML 支持的詳細信息,請參閱 XML 輸入文件引用(數據庫引擎優化顧問)、使用 XML 輸入文件進行優化和使用數據庫引擎優化顧問進行探索性分析。
 用戶指定的配置和假設分析支持

使用數據庫引擎優化顧問,用戶可以提供物理設計結構(索引、索引視圖和分區策略)的假設配置作為優化輸入。然後,可以按已經應用了該配置的情況,優化一個或多個數據庫。這樣一來,您就可以在發生應用這些結構產生的開銷之前,對一組特定物理設計結構組作出假設分析。數據庫引擎優化顧問 XML 架構完全支持此功能。可以在 XML 輸入文件中指定希望處理的配置,然後使用 dta 命令提示實用工具啟動優化會話。有關此功能的詳細信息,請參閱使用數據庫引擎優化顧問進行探索性分析。
 分析報告

優化會話完成後,數據庫引擎優化顧問將以文本格式或 XML 格式生成若干分析報告。這些報告提供的信息包括工作負荷中發生的查詢開銷、工作負荷中事件的發生頻率以及查詢及其引用的索引之間的關系等。可以使用數據庫引擎優化顧問 GUI 查看報告,也可以使用常用的 XML 編輯器打開以 XML 格式生成的報告。有關數據庫引擎優化顧問生成的分析報告的詳細信息,請參閱選擇數據庫引擎優化顧問報告。
 優化會話

在開始分析前,數據庫引擎優化顧問會提示您創建一個唯一的名稱或編號,來標識優化會話。完成工作負荷分析或停止分析後,數據庫引擎優化顧問將保存優化會話信息,並將其與開始優化前提供的標識符關聯起來。您可以使用會話標識符將現有會話重新載入數據庫引擎優化顧問 GUI,在此可以查看優化結果和報告。使用優化會話可以輕松比較各個時間段的會話結果。有關使用優化會話的詳細信息,請參閱使用會話監視器評估優化建議。
 使用 dta 實用工具時才可用的功能

使用數據庫引擎優化顧問 GUI 時,以下各部分中列出的優化選項當前不可用。
在命令提示符下或使用 XML 輸入文件時

在命令提示符下運行 dta 實用工具時,或通過使用 -ix 命令提示符參數將 XML 輸入文件用於該實用工具時,您可以指定:

    * 優化日志名稱(-e 命令提示符參數,或 TableName 元素)。
    * 要優化的事件數(-n 命令提示符參數,或 NumberOfEvents 元素)。
    * 由數據庫引擎優化顧問推薦的索引中的最大鍵列數(-c 命令提示符參數,或 MaxKeyColumnsInIndex 元素)。
    * 數據庫引擎優化顧問對推薦的配置提出的最小改進(-m 命令提示符參數,或 MinPercentageImprovement 元素)。

使用 XML 輸入文件時

除了上述功能之外,在將 XML 輸入文件與 dta 實用工具一起使用時,還可以:

    * 使用測試服務器/生產服務器方案,其中包括在測試服務器上創建 shell 數據庫(TestServer 元素)。
    * 在 XML 輸入文件中指定工作負荷內聯(EventString 元素)。
    * 忽略工作負荷中的常量(IgnoreConstantsInWorkload 元素)。

在命令提示符下

除了上述功能之外,在命令提示符下運行 dta 實用工具時,還可以:

    * 指定靜默模式,實用工具在該模式下運行時不顯示任何反饋消息(-q 命令提示符參數)。
    * 優化並自動應用優化建議(-a 命令提示符參數)。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved