Share via


XML 顯示計劃

更新: 2005 年 12 月 5 日

在 Microsoft SQL Server 2005 中,可利用各種方式產生 XML 格式的顯示計劃執行計劃輸出。XML 格式的顯示計劃輸出可以在不同電腦間移動,因此可在任何電腦上轉譯,甚至是未安裝 SQL Server 的電腦。您也可以利用 XML 技術 (例如:XPath、XQuery、XSLT、SAX 或 DOM 等),以程式方式存取 XML 格式的顯示計劃輸出。SQL Server 2005 支援 XML 顯示計劃處理,它包含 XPath 與 XQuery 的內建查詢評估引擎。

您可以利用下列方法產生 XML 顯示計劃輸出:

  • 從 SQL Server Management Studio 中的 [查詢編輯器] 工具列中,選取 [顯示評估的執行計劃][包括實際執行計劃]
  • 使用 Transact-SQL Showplan SET 陳述式選項 SHOWPLAN_XML 和 STATISTICS XML
  • 選取 SQL Server Profiler 事件類別 Showplan XMLShowplan XML for Query CompileShowplan XML Statistics Profile 來進行追蹤
  • 使用 sys.dm_exec_query_plan 動態管理函數

會為這些方法傳回 nvarchar(max) 資料類型的 XML 顯示計劃,當您使用 sys.dm_exec_query_plan 時除外。當您使用此動態管理檢視時,會以 xml 資料類型傳回 XML 顯示計劃。

顯示計劃的 XML 結構描述可從此 Microsoft 網站下載。

您也可以在安裝 SQL Server 2005 的目錄中找到此檔案,其位置如下:

Microsoft SQL Server\90\Tools\Binn\schemas\sqlserver\2004\07\showplan\showplanxml.xsd

ms189298.note(zh-tw,SQL.90).gif附註:
若查詢最佳化工具貿然終止查詢最佳化作業,XML 顯示計劃輸出中會為 StmtSimple 傳回 StatementOptmEarlyAbortReason 屬性。此屬性可能顯示的值包括 TimeOutGoodEnoughPlanFoundMemoryLimitExceeded。若此屬性傳回 TimeOutGoodEnoughPlanFound,則不需要採取任何動作。傳回的顯示計劃包含正確的結果。 若 StatementOptmEarlyAbortReason 屬性傳回 MemoryLimitExceeded,則產生的 XML 顯示計劃仍會是正確的,但可能不是最佳化的。嘗試下列其中一種方式來增加可用記憶體:1) 降低伺服器上的負載。2) 為 SQL Server 增加可用記憶體。如需詳細資訊,請參閱<管理大型資料庫的記憶體>。3) 檢查使用 sp_configure 設定的 max server memory 選項,並增加此選項值 (若原始設定太低)。如需詳細資訊,請參閱<伺服器記憶體選項>。

關於顯示計劃 XML 結構描述

顯示計劃 XML 結構描述的版本指定由兩個部分組成,例如 m.n。其中 m 是主要版本號碼,而 n 是次要版本號碼。例如,"Version 2.5"。此版本號碼會出現在顯示計劃 Showplan XML 結構描述文件的根元素中。例如:version="0.5"

顯示計劃 XML 結構描述的回溯相容性

當主要版本號碼增加時,可能不會利用舊的結構描述來驗證新的 XML 顯示計劃輸出。然而,若次要版本號碼增加時,則不會有影響。例如,若使用結構描述版本 0.5 來產生 XML 檢視計劃結構描述,會利用顯示計劃 XML 結構描述版本 0.6 來驗證輸出。

XML 顯示計劃的編碼方式

SQL Server 2005 會使用 Unicode 格式 (每個字元兩個位元組) 將 XML 顯示計劃傳送到用戶端。編碼規則如下:

  • If (char >= 0x0020 && char <= 0xD7FF) or (char == 0x0009) or 
    (char == 0x000A) or (char == 0x000D) or (char >= 0xE000 && char <= 0xFFFD)
    then send the char as 2 bytes, else send '?'
  • Tab 字元、新行字元和換行字元的編碼方式如下:
    • \t 的編碼方式是 '&#x9;'
    • \n 的編碼方式是 '&#xa;'
    • \r 的編碼方式是 '&#xd;'

將 XML 顯示計劃輸出儲存到檔案中

使用 SHOWPLAN_XML 或 STATISTICS XML Transact-SQL SET 陳述式產生顯示計劃輸出之後,您可以將輸出儲存到副檔名為 .sqlplan 的檔案中。例如,MyXMLShowplan.sqlplan。您可以在 SQL Server Management Studio 中開啟與檢視這些 .sqlplan 檔案。如需詳細資訊,請參閱<如何:以 XML 格式儲存執行計劃>。

請參閱

參考

顯示圖形執行計劃 (SQL Server Management Studio)

概念

使用 Showplan SET 選項來顯示執行計劃 (Transact-SQL)
使用 SQL Server Profiler 事件類別來顯示執行計劃
顯示計劃安全性

其他資源

sys.dm_exec_query_plan

說明及資訊

取得 SQL Server 2005 協助

變更歷程記錄

版本 歷程記錄

2005 年 12 月 5 日

變更的內容:
  • 變更顯示計劃 XML 結構描述的安裝位置。