CORRECTIF : Message d’erreur lorsque vous utilisez la session d’étendue des événements system_health pour capturer un graphique de blocage dans SQL Server 2008 : « Msg 9436 : l’analyse XML : ligne 54, caractère de 12, la balise de fin ne correspond pas à la balise de début »

Microsoft distribue les correctifs de Microsoft SQL Server 2008 en tant que fichier téléchargeable. Les correctifs étant cumulatifs, chaque nouvelle version contient tous les correctifs et correctifs de sécurité inclus dans la précédente 2008 de SQL Server version du correctif.

Symptômes

Envisagez le scénario suivant. Dans une base de données Microsoft SQL Server 2008, un blocage se produit. Puis, vous permet de la session d’étendue des événements system_health pour capturer le graphique de blocage. Dans ce cas de figure, le message d’erreur suivant s’affiche :
Msg 9436, niveau 16, état 1, ligne 1

Analyse XML : ligne 54, caractère de 12, la balise de fin ne correspond pas à la balise de début
Par exemple, vous exécutez la requête suivante pour exporter la cible de buffer_ring à partir de la session system_health lorsqu’un blocage se produit :
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'

Dans cet exemple, la requête renvoie le résultat correct.

Toutefois, vous pouvez également exécuter la requête suivante pour effectuer un cast de ce graphique de blocage au format 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'

Dans ce cas, vous devriez voir le graphique de blocage au format XML. Même si le graphique de blocage s’affiche correctement, vous devriez voir le contenu du rapport de xml_deadlock_report XML valide. Toutefois, le message d’erreur suivant s’affiche :
Msg 9436, niveau 16, état 1, ligne 1
Analyse XML : ligne 54, caractère de 12, la balise de fin ne correspond pas à la balise de début

Cause

Ce problème se produit car le chemin d’accès de code qui génère le schéma XML pour le graphique de blocage ignore la balise de fermeture de l’élément de liste de la victime . En outre, le chemin d’accès de code ajoute une balise inutile pour l’élément de blocage .

Résolution


Le correctif de ce problème a été publié dans 6 de mise à jour Cumulative pour SQL Server 2008 Service Pack 1. Pour plus d’informations sur ce package de mise à jour cumulative, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :
977443 Cumulative mise à jour 6 pour SQL Server 2008 Service Pack 1
Remarque Les versions étant cumulatives, chaque nouvelle version du correctif contient tous les correctifs et correctifs de sécurité inclus dans la précédente version du correctif de SQL Server 2008. Nous vous recommandons l’application la plus récente version du correctif qui comprendra ce correctif. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
970365 the SQL Server versions 2008 publiées après SQL Server 2008 Service Pack 1
Les correctifs Microsoft SQL Server 2008 sont créés pour les packs de service spécifiques de SQL Server. Vous devez appliquer un correctif SQL Server 2008 Service Pack 1 dans une installation de SQL Server 2008 Service Pack 1. Par défaut, tout correctif qui est fourni dans un service pack de SQL Server est inclus dans le prochain service pack de SQL Server.


SQL Server 2008 R2

Important Vous devez installer ce correctif si vous exécutez SQL Server 2008 R2.

Le correctif de ce problème a été publié dans 1 de mise à jour Cumulative. Pour plus d’informations sur l’obtention de ce package de mise à jour cumulative pour SQL Server 2008 R2, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :

981355 package de mise à jour cumulative 1 pour SQL Server 2008 R2
Remarque Les versions étant cumulatives, chaque nouvelle version de correctif contient tous les correctifs et correctifs de sécurité inclus dans la précédente version du correctif de SQL Server 2008 R2. Nous vous recommandons l’application la plus récente version du correctif qui comprendra ce correctif. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :

981356 le SQL Server versions 2008 R2 publiées après SQL Server 2008 R2

État

Microsoft a confirmé l'existence de ce problème dans les produits Microsoft répertoriés dans la section « S'applique à ».

Références

Pour plus d’informations sur le modèle de service incrémentiel pour SQL Server, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :

935897 un modèle de service incrémentiel est disponible auprès de l’équipe SQL Server pour proposer des correctifs pour les problèmes signalés


Pour plus d’informations sur le schéma d’appellation des mises à jour de SQL Server, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :

822499 Nouveau schéma d’affectation de noms pour les packages de mise à jour logicielle de Microsoft SQL Server

Pour plus d'informations sur la terminologie de mise à jour logicielle, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
Description 824684 terminologie standard utilisée pour décrire les mises à jour logicielles de Microsoft
Propriétés

ID d'article : 978629 - Dernière mise à jour : 13 janv. 2017 - Révision : 1

Commentaires