修正: 錯誤訊息,當您使用 system_health 延伸事件工作階段擷取 SQL Server 2008年中的死結圖形:"訊息 9436: XML 剖析: 行 54,字元 12,結束標記與開始標記不相符 」

文章翻譯 文章翻譯
文章編號: 978629 - 檢視此文章適用的產品。
Microsoft 會將 Microsoft SQL Server 2008年修正單一可下載檔案。修正程式是累積的因為每個新版本包含所有的 hotfix,所有安全性修正程式所隨附之前 SQL Server 2008年都修正版本。
全部展開 | 全部摺疊

在此頁中

徵狀

請考慮下列案例。在 Microsoft SQL Server 2008年資料庫中,就會發生死結。然後,您使用 system_health 延伸事件工作階段,以擷取死結圖形。在這個案例中,您會收到下列錯誤訊息:
訊息 9436,層次 16,狀態 1,行 1
XML 剖析: 行 54,字元 12,結束標記與開始標記不相符
例如,執行下列查詢匯出從 buffer_ring 目標 system_health 當發生死結時,工作階段:
select XEventData.XEvent.value('(data/value)[1]', 'varchar(max)') as DeadlockGraph
FROM
(select CAST(target_data as xml) as TargetData
from sys.dm_xe_session_targets st
join sys.dm_xe_sessions s on s.address = st.event_session_address
where name = 'system_health') AS Data
CROSS APPLY TargetData.nodes ('//RingBufferTarget/event') AS XEventData (XEvent)
where XEventData.XEvent.value('@name', 'varchar(4000)') = 'xml_deadlock_report'
在這個範例中,查詢會傳回正確的結果。

不過,您也可以執行下列查詢時,施展此死結圖形以 XML 格式:
select cast(XEventData.XEvent.value('(data/value)[1]', 'varchar(max)') as xml) as DeadlockGraph
FROM
(select CAST(target_data as xml) as TargetData
from sys.dm_xe_session_targets st
join sys.dm_xe_sessions s on s.address = st.event_session_address
where name = 'system_health') AS Data
CROSS APPLY TargetData.nodes ('//RingBufferTarget/event') AS XEventData (XEvent)
where XEventData.XEvent.value('@name', 'varchar(4000)') = 'xml_deadlock_report'
在此情況下,您會看到以 XML 格式的死結圖形。即使死結圖表顯示不正確,您仍要查看 [有效的 XML 內容的 xml_deadlock_report 報告。不過,您會收到下列錯誤訊息:
訊息 9436,層次 16,狀態 1,行 1
XML 剖析: 行 54,字元 12,結束標記與開始標記不相符

發生的原因

因為會產生死結圖表的 XML 結構描述的程式碼路徑會略過目的結尾標記,就會發生這個問題 犧牲者清單 項目。此外,程式碼路徑加入不必要的標記, 死結 項目。

解決方案

這個問題的修正程式第一次發行的 SQL Server 2008 Service Pack 1 的累積更新 6。如需有關此累積更新套件的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
977443 SQL Server 2008 Service Pack 1 的累積更新套件 6
附註 因為組建是累計的每個新的修正版本包含所有的 hotfix,所有安全性修正程式所隨附之前 SQL Server 2008年都修正版本。我們建議您考慮將套用最新的修正程式版本,其中包含此 hotfix。如需詳細資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
970365 SQL Server 2008 SQL Server 2008 Service Pack 1 發行之後所發行的組建
Microsoft SQL Server 2008 hotfix 會建立特定的 SQL Server service pack。您必須將 SQL Server 2008 Service Pack 1 hotfix 套用至 SQL Server 2008 Service Pack 1 的安裝。根據預設,SQL Server service pack 中所提供的任何 hotfix 包含在下一步 SQL Server service pack。

SQL Server 2008 R2

重要 如果您正在執行 SQL Server 2008 R2,您必須安裝此修正程式。

這個問題的修正程式第一次發行中累積的更新 1。如需有關如何取得此累積更新套件的 SQL Server 2008 R2 的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:

981355 累積更新套件 1 的 SQL Server 2008 R2
附註 因為組建是累計的每個新的修正版本包含所有的 hotfix,所有安全性修正程式所隨附之前 SQL Server 2008 R2 都修正版本。我們建議您考慮將套用最新的修正程式版本,其中包含此 hotfix。如需詳細資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:

981356 SQL Server 2008 R2 SQL Server 2008 R2 發行之後所發行的組建

狀況說明

Microsoft 已確認這是 「 套用 」 一節所列的 Microsoft 產品中的問題。

?考

SQL Server 的累加式的服務模型的相關資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
935897 累加式的服務模型位於 SQL Server 小組製作報告的問題的 hotfix

如需有關更新 SQL Server 的命名結構描述的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
822499Microsoft SQL Server 軟體更新套件的新命名的結構描述

如需有關軟體更新術語的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
編號 824684 用來描述 Microsoft 軟體更新標準術語的說明

屬性

文章編號: 978629 - 上次校閱: 2011年10月11日 - 版次: 1.0
這篇文章中的資訊適用於:
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Workgroup
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Workgroup
關鍵字:?
kbexpertiseadvanced kbsurveynew kbqfe kbfix kbmt KB978629 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:978629
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com