Oprava: Chybová zpráva při použití relace system_health Extended událostí k zachycení zablokování grafu v SQL Server 2008: "Msg 9436: při analýze XML: řádek 54 znaků 12, koncová značka neodpovídá počáteční značku"

Chyba č: 125532 (Údržba obsahu)
VSTS číslo chyby: 386058

Společnost Microsoft distribuuje opravy Microsoft SQL Server 2008 jako jednoho souboru ke stažení. Protože jsou kumulativní opravy, každá nová verze tedy obsahuje všechny opravy hotfix a opravit všechny opravy zabezpečení, které byly součástí předchozích SQL Server 2008 release.

Příznaky

Zvažte následující scénář. V databázi Microsoft SQL Server 2008 dojde k zablokování. Potom pomocí relace system_health Extended událostí k zachycení zablokování grafu. V tomto scénáři obdržíte následující chybová zpráva:

Msg 9436, úroveň 16 stav 1, řádek 1

Při analýze XML: řádek 54 znaků 12, koncová značka neodpovídá počáteční značku

Například spustíte následující dotaz, ze které chcete exportovat cílové buffer_ring system_health relace, dojde k zablokování:

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'

V tomto příkladu dotaz vrátí správný výsledek.

Můžete však také spuštěním následujícího dotazu převést toto zablokování grafu ve formátu 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'

V této situaci můžete očekávat zablokování grafu ve formátu XML. I v případě zablokování grafu je zobrazena správně, stále očekáváte, chcete-li zobrazit obsah ze sestavy xml_deadlock_report platný kód XML. Však zobrazí následující chybová zpráva:

Msg 9436, úroveň 16 stav 1, řádek 1
Při analýze XML: řádek 54 znaků 12, koncová značka neodpovídá počáteční značku

Příčina

K tomuto problému dochází, protože kód cestu, která generuje graph zablokování schéma XML přeskočí uzavírací značku prvku seznamu obětí . Dále cesty kódu přidá zbytečné značku zablokování prvku.

Řešení


Oprava tohoto problému byla vydána nejprve v kumulativní aktualizace 6 pro SQL Server 2008 Service Pack 1. Další informace o tomto balíčku kumulativní aktualizace klepněte na následující číslo článku databáze Microsoft Knowledge Base:

977443 kumulativní aktualizace 6 pro SQL Server 2008 Service Pack 1Poznámka: Vzhledem k tomu, sestavení jsou kumulativní, každá nová verze oprava obsahuje všechny opravy hotfix a opravit všechny opravy zabezpečení, které byly součástí předchozích SQL Server 2008 release. Doporučujeme zvážit použití nejnovější vydání oprava, která obsahuje tuto opravu hotfix. Další informace získáte v následujícím článku znalostní báze Microsoft Knowledge Base:

970365 SQL Server 2008 sestavení, které byly vydány po vydání SQL Server 2008 Service Pack 1
Microsoft SQL Server 2008 opravy hotfix jsou vytvořeny pro konkrétní aktualizace service Pack pro SQL Server. Opravy hotfix serveru SQL Server 2008 Service Pack 1 musí použít k instalaci aplikace SQL Server 2008 Service Pack 1. Ve výchozím žádné opravy hotfix, která je poskytována v aktualizace service pack serveru SQL Server je součástí další aktualizaci service pack pro SQL Server.


SQL Server 2008 R2

Důležité: Pokud používáte systém SQL Server 2008 R2 je nutné nainstalovat tuto opravu.

Oprava tohoto problému byla vydána nejprve v kumulativní aktualizaci 1. Další informace o možnostech získání tohoto balíčku kumulativní aktualizace pro SQL Server 2008 R2 klepněte na následující číslo článku databáze Microsoft Knowledge Base:

981355 balíček kumulativní aktualizace 1 pro SQL Server 2008 R2Poznámka: Vzhledem k tomu, sestavení jsou kumulativní, každá nová verze oprava obsahuje všechny opravy hotfix a opravit všechny opravy zabezpečení, které byly součástí předchozích SQL Server 2008 R2 release. Doporučujeme zvážit použití nejnovější vydání oprava, která obsahuje tuto opravu hotfix. Další informace získáte v následujícím článku znalostní báze Microsoft Knowledge Base:

981356 SQL Server 2008 R2 sestavení, které byly vydány po vydání SQL Server 2008 R2

Stav

Společnost Microsoft potvrdila, že se jedná o problém v produktech společnosti Microsoft, které jsou uvedeny v části "Platí pro".

Odkazy

Informace o přírůstkové Model servis pro SQL Server klepněte na následující číslo článku databáze Microsoft Knowledge Base:

935897 dílčí Model obsluhy je k dispozici z týmu SQL Server doručit opravy hotfix pro nahlášené potíže


Další informace o schéma názvů pro aktualizace serveru SQL Server klepněte na následující číslo článku databáze Microsoft Knowledge Base:

822499 Nové schéma přidělování názvů balíčkům aktualizací softwaru Microsoft SQL Server pro
Pro další informace o terminologii používané v aktualizacích softwaru, klepněte na následující číslo článku k zobrazení článku v databázi Microsoft Knowledge Base:

824684 Popis standardní terminologie používané při popisu aktualizací softwaru společnosti Microsoft

Autor (MSP): bruceye; v-linazh; Sureshka
Zapisovatel: v-vincli
Odborný recenzent: Sureshka; jhalmans; pedrou; mikewa
Redaktor: v-chliao

Potřebujete další pomoc?

Rozšiřte své znalosti a dovednosti
Projít školení
Získejte nové funkce jako první
Připojit se k programu Microsoft Insider

Byly tyto informace užitečné?

Děkujeme za váš názor!

Děkujeme vám za váš názor! Pravděpodobně bude užitečné, když vás spojíme s některým z našich agentů podpory Office.

×