FIX: आप SQL Server 2008 में एक डेडलॉक ग्राफ़ को कैप्चर करने के लिए system_health ईवेंट विस्तारित सत्र का उपयोग करते हुए त्रुटि संदेश: "संदेश 9436: XML पार्सिंग: रेखा 54, वर्ण 12, समाप्ति टैग प्रारंभ टैग मेल नहीं"

लागू: SQL Server 2008 R2 StandardSQL Server 2008 R2 EnterpriseSQL Server 2008 R2 Developer

Microsoft डाउनलोड करने योग्य फ़ाइल के रूप में Microsoft SQL Server 2008 फिक्सेस वितरित करता है। फ़िक्सेस संचयी होते हैं, क्योंकि सभी हॉटफिक्सेस हर नई जारी है और जो पिछले 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 DeadlockGraphFROM
(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 DeadlockGraphFROM
(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 स्कीमा जनरेट करता है जो है क्योंकि यह समस्या उत्पन्न होती है। इसके अतिरिक्त, कोड पथ डेडलॉक तत्व के लिए एक अनावश्यक टैग जोड़ता है।

समाधान



इस समस्या के लिए फिक्स पहले संचयी अद्यतन 6 में SQL Server 2008 सर्विस पैक 1 के लिए रिलीज़ किया गया था। इस संचयी अद्यतन पैकेज़ के बारे में अधिक जानकारी के लिए Microsoft नॉलेज़ बेस में आलेख देखने के लिए निम्न आलेख संख्या पर क्लिक करें:
977443 Cumulative अद्यतन पैकेज़ 6 SQL Server 2008 सर्विस पैक 1 के लिए
नोट बनाता है संचयी होते हैं, क्योंकि सभी हॉटफिक्सेस हर नई सुधार जारी है और जो पिछले SQL Server 2008 के साथ शामिल थे सभी सुरक्षा फ़िक्सेस रिलीज़ ठीक करें। हम अनुशंसा करते हैं कि करने पर आप विचार करें जिसमें ये हॉटफिक्स शामिल नवीनतम फिक्स रिलीज़ लागू कर रहा है। अधिक जानकारी के लिए Microsoft नॉलेज़ बेस में आलेख देखने के लिए निम्न आलेख संख्या पर क्लिक करें:
970365 SQL Server 2008 जो SQL Server 2008 सर्विस पैक 1 रिलीज़ किया गया था के बाद रिलीज़ किया गया था बनाता है
Microsoft SQL Server 2008 हॉटफिक्सेस विशिष्ट SQL Server सर्विस पैक के लिए बनाए जाते हैं। आप किसी SQL Server 2008 सर्विस पैक 1 की स्थापना करने के लिए कोई SQL Server 2008 सर्विस पैक 1 हॉटफिक्स लागू करना चाहिए। डिफ़ॉल्ट रूप से, किसी SQL Server सर्विस पैक में प्रदान की गई किसी भी हॉटफिक्स अगले SQL Server सर्विस पैक में शामिल है।


SQL Server 2008 R2

महत्वपूर्ण यदि आप SQL Server 2008 R2 चला रहे हैं, तो आप यह फिक्स स्थापित करना होगा।

इस समस्या के लिए फिक्स पहले संचयी अद्यतन 1 में रिलीज़ किया गया था। इस संचयी अद्यतन पैकेज़ SQL Server 2008 R2 के लिए प्राप्त करने के तरीके के बारे में अधिक जानकारी के लिए Microsoft नॉलेज़ बेस में आलेख देखने के लिए निम्न आलेख संख्या पर क्लिक करें:

SQL Server 2008 R2 के लिए संचयी अद्यतन पैकेज़ 1 981355
नोट बनाता है संचयी होते हैं, क्योंकि सभी हॉटफिक्सेस हर नई सुधार जारी है और जो पिछले SQL Server 2008 R2 के साथ शामिल थे सभी सुरक्षा फ़िक्सेस रिलीज़ ठीक करें। हम अनुशंसा करते हैं कि करने पर आप विचार करें जिसमें ये हॉटफिक्स शामिल नवीनतम फिक्स रिलीज़ लागू कर रहा है। अधिक जानकारी के लिए Microsoft नॉलेज़ बेस में आलेख देखने के लिए निम्न आलेख संख्या पर क्लिक करें:

981356 SQL Server 2008 R2 जो SQL सर्वर 2008 R2 रिलीज़ किया गया था के बाद रिलीज़ किया गया था बनाता है

स्थिति


Microsoft ने पुष्टि की है कि यह "इन पर लागू" खण्ड में सूचीबद्ध Microsoft उत्पादों में एक समस्या है.

संदर्भ


जानने के लिए वृद्धिशील चलाने मॉडल SQL सर्वर के लिए, Microsoft नॉलेज़ बेस में आलेख देखने के लिए निम्न आलेख संख्या पर क्लिक करें:

935897 एक वृद्धिशील चलाने मॉडल हॉटफिक्सेस रिपोर्ट की गई समस्याओं के लिए वितरित करने के लिए SQL Server टीम से उपलब्ध है


SQL सर्वर अद्यतनों के लिए नामकरण स्कीमा के बारे में अधिक जानकारी के लिए Microsoft नॉलेज़ बेस में आलेख देखने के लिए निम्न आलेख संख्या पर क्लिक करें:

822499 Microsoft SQL सर्वर सॉफ़्टवेयर अद्यतन पैकेज़ों के लिए नया नामकरण स्कीमा

सॉफ़्टवेयर अद्यतन शब्दों के बारे में अधिक जानकारी के लिए Microsoft नॉलेज़ बेस में आलेख देखने के लिए निम्न आलेख संख्या पर क्लिक करें:
824684 Microsoft सॉफ़्टवेयर अद्यतनों का विवरण देने में प्रयुक्त होने वाले मानक शब्दों वर्णन