Database Engine Tuning Advisor 功能

Database Engine Tuning Advisor 提供全新功能,讓新手和有豐富經驗的資料庫管理員都能微調資料庫,達到更佳的查詢效能。下列章節列出並描述 Database Engine Tuning Advisor 的全新功能:

提升工作負載剖析

  • 處理參考暫時性資料表 (如 Temp 資料表) 的批次。

  • 因為無法剖析事件,所以不會終止微調。而是將事件記錄在微調記錄檔,接著再繼續微調其他事件。

  • 剖析及微調參考使用者自訂函數的查詢。

  • 處理某項追蹤的所有 USE 陳述式,這是微調多重資料庫時的重點所在。

  • 使用工作負載中的 LoginName 資料行 (如果可在追蹤工作負載中使用時),以在使用者執行的內容中正確微調事件。

  • 微調觸發程序中的陳述式。

增強型延展性

  • 使用工作負載壓縮,讓 Database Engine Tuning Advisor 既能減少微調所花的時間,又能產生高品質的微調建議結果。

  • 使用演算法,以避免建立重複的統計資料,可減少微調期間所發生的 I/O 數目。

整合式微調

Database Engine Tuning Advisor 可考量各種不同類型的實體設計結構 (索引、索引檢視、資料分割) 在效能上提供的取捨,包括篩選的索引。不同結構在功能上的重疊,可以減少任何給定查詢的執行成本,如此一來,便有能力考量多重設計結構的整合式組態,讓 Database Engine Tuning Advisor 能夠提供品質更好的建議。例如,首先只考量一組資料表的叢集索引,之後,再考量同一組資料表的水平定界資料分割,並無法使您了解這兩個實體設計結構如何協同運作。若要了解這兩個實體設計結構共同運作的方式,您的微調工具必須執行整合式微調作業。

多重資料庫微調

應用程式往往會存取多重資料庫以完成工作,所以工作負載經常參考來自多重資料庫的物件。Database Engine Tuning Advisor 能同時微調多重資料庫,這一點與 Microsoft SQL Server 2000 中的索引微調精靈並不相同。使用者可以指定一組要微調的資料庫,而 Database Engine Tuning Advisor 便能對所有選取的資料庫提出建議。如需有關這項功能的詳細資訊,請參閱<微調多個資料庫>。

將微調的負擔卸載到測試伺服器

微調大量的工作負載可對所微調的伺服器造成明顯的負擔。發生這種情形是因為 Database Engine Tuning Advisor 經常需要在微調處理序期間,對查詢最佳化工具發出數個呼叫。除了實際伺服器之外也同時使用測試伺服器,可刪除這個問題。

本假設狀況中,您需要微調複製了實際伺服器環境的測試伺服器。當您收到微調測試伺服器所產生的資料庫設計組態建議之後,您可以在維護期間,在您的實際伺服器上實作這項建議。

測試伺服器的傳統使用方式,是先將實際伺服器的所有資料都複製到測試伺服器之後,微調測試伺服器,接著調整結果所產生、針對兩部電腦間之硬體差異所提出的建議。您不需要將資料複製至測試電腦,或這兩組電腦硬體也不需要完全相同,Database Engine Tuning Advisor 就能夠使用測試伺服器,如此一來,便可以節省您的時間和資源。相反地,Database Engine Tuning Advisor 會從實際伺服器中,將中繼資料、統計資料和硬體參數匯入測試伺服器中。接著 Database Engine Tuning Advisor 會在測試伺服器上執行大量微調作業,您便能在正常的維護期間將結果實作到實際伺服器上。如需有關這項功能的詳細資訊,請參閱<降低生產伺服器的微調負載>。

命令提示字元公用程式和圖形化使用者介面工具

Database Engine Tuning Advisor 提供下列兩種使用者介面:

  • 您可以使用 dta 命令提示字元公用程式,輕鬆地整合 Database Engine Tuning Advisor 的功能與指令碼。

  • 您也可以使用 Database Engine Tuning Advisor 圖形化使用者介面 (GUI) 工具,輕鬆地檢視微調工作階段和結果。

僅刪除模式微調

實體設計結構可能會隨著時間演進而累積在資料庫中,資料庫管理員必須採取方法,卸除不再有用的結構。針對用來識別不再有用或對給定的工作負載僅有些許助益的現有實體結構而言,僅刪除模式微調選項很有用。在您使用 dta 命令提示字元公用程式時,可以加上 - fx 引數來指定這個微調選項。如果是使用 GUI,您可以在 [微調選項] 索引標籤中選取 [只評估現有 PDS 的使用情形] 來指定這個選項。

使用這個選項,Database Engine Tuning Advisor 就不會再建議任何新的結構,因此這個選項無法與其他加入索引、索引檢視或資料分割的選項搭配使用。僅刪除模式微調選項也無法搭配這個選項一起使用來保留所有現有的結構。如需有關您可與 Database Engine Tuning Advisor 搭配使用之微調選項的詳細資訊,請參閱<可用的微調選項>。

XML 支援

可用 Database Engine Tuning Advisor GUI 與 dta 命令提示字元公用程式執行的所有微調作業,都可定義在 Database Engine Tuning Advisor XML 輸入檔中。XML 輸入檔使用發行的 Database Engine Tuning Advisor XML 結構描述,這個結構描述可以在您的 Microsoft SQL Server 安裝目錄中的下列位置找到:

C:\Program Files\Microsoft SQL Server\100\Tools\Binn\schemas\sqlserver\2004\07\dta\dtaschema.xsd

您也可以從 Microsoft 網站的 Database Engine Tuning Advisor Schema 下載這個結構描述。

使用 XML 輸入檔可讓您在微調資料庫時使用最喜愛的 XML 工具,讓有豐富經驗的資料管理員在操作上更具彈性。例如,使用 XML 輸入檔時,您可以先指定現有及假設性實體設計結構 (索引、索引檢視、資料分割) 的組態,再使用 dta 命令提示字元公用程式來微調資料庫,就像先前已實作過這項組態一樣。如此一來,假設狀況的分析便不會帶來在微調之前實作新組態的負擔。如需有關 Database Engine Tuning Advisor XML 支援的詳細資訊,請參閱<XML 輸入檔參考 (Database Engine Tuning Advisor)>、<使用 XML 輸入檔進行微調>和<使用 Database Engine Tuning Advisor 探勘分析>。

使用者指定的組態和假設狀況分析支援

Database Engine Tuning Advisor 可讓使用者提供假設性的實體設計結構組態 (索引、索引檢視、資料分割策略) 來做為微調輸入。之後,您可以依照先前已實作組態的方式來微調資料庫。如此一來,您便可以在尚未產生一組特定實體設計結構的實作負擔之前,先要求它們的假設狀況。Database Engine Tuning Advisor XML 結構描述可充分支援這項功能。您可以在 XML 輸入檔中指定想要評估的組態,然後使用 dta 命令提示字元公用程式來啟動微調工作階段。如需有關這項功能的詳細資訊,請參閱<使用 Database Engine Tuning Advisor 探勘分析>。

分析報表

微調工作階段完成之後,Database Engine Tuning Advisor 會產生數份文字或 XML 格式的分析報表。這些報表提供的資訊包括:工作負載中所發生的查詢成本、工作負載中發生事件的頻率,或者是查詢與所參考索引之間的關聯性。您可以使用 Database Engine Tuning Advisor GUI 來檢視報表,也可使用您最喜愛的 XML 編輯器來開啟以 XML 格式所產生的報表。如需有關 Database Engine Tuning Advisor 所產生之分析報表的詳細資訊,請參閱<選擇 Database Engine Tuning Advisor 報表>。

微調工作階段

Database Engine Tuning Advisor 會提示您建立用來識別微調工作階段的唯一名稱或號碼,然後才可開始分析。分析工作負載之後或分析停止時,Database Engine Tuning Advisor 會儲存微調工作階段的資訊,並與您在微調開始之前所提供的識別碼產生關聯。您可以使用工作階段識別碼將現有的工作階段重新載入 Database Engine Tuning Advisor GUI,其中可檢閱微調結果和報表。微調工作階段可方便用來比較經過一段時間的微調結果。如需有關使用微調工作階段的詳細資訊,請參閱<使用工作階段監視器來評估微調建議>。

僅適用於 dta 公用程式的功能

使用 Database Engine Tuning Advisor GUI 時,則目前無法使用列在下列章節中的微調選項。

從命令提示字元或使用 XML 輸入檔時

從命令提示字元執行 dta 公用程式時,或使用 -ix 命令提示字元引數以搭配使用 XML 輸入檔與該公用程式時,您可以指定:

  • 依據名稱的微調記錄檔 (-e 命令提示字元引數或 TableName 元素)。

  • 要微調的事件數 (-n 命令提示字元引數或 NumberOfEvents 元素)。

  • 索引中由 Database Engine Tuning Advisor 所建議的最大索引鍵資料行數目 (-c 命令提示字元引數或 MaxKeyColumnsInIndex 元素)。

  • Database Engine Tuning Advisor 對建議組態所建議的最小改進 (-m 命令提示字元引數或 MinPercentageImprovement 元素)。

使用 XML 輸入檔時

除了上述功能外,將 XML 輸入檔與 dta 公用程式搭配使用時,您也可以:

  • 使用測試伺服器/實際伺服器狀況,而這包括在測試伺服器 (TestServer 元素) 上建立 Shell 資料庫。

  • 指定將工作負載內嵌在 XML 輸入檔中 (EventString 元素)。

  • 忽略工作負載中的常數 (IgnoreConstantsInWorkload 元素)。

從命令提示字元

除了上述功能外,從命令提示字元執行 dta 公用程式時,您也可以:

  • 指定無訊息模式,公用程式在此模式下執行時,不會顯示任何回應訊息 (-q 命令提示字元引數)。

  • 微調並自動套用微調建議 (-a 命令提示字元引數)。