ИСПРАВИТЬ: Сообщение об ошибке при использовании сеанса расширенных событий system_health для записи deadlock graph в SQL Server 2008: «Msg 9436: синтаксический анализ XML: строка 54, символ 12, закрывающий тег не соответствует открывающий тег "

Переводы статьи Переводы статьи
Код статьи: 978629 - Vizualiza?i produsele pentru care se aplic? acest articol.
Корпорация Майкрософт распространяет исправления Microsoft SQL Server 2008 как один загружаемый файл. Так как исправления являются накопительными, каждый выпуск содержит все исправления и все исправления безопасности, которые были включены в предыдущие 2008 SQL Server исправления выпуска.
Развернуть все | Свернуть все

В этой статье

Проблема

Рассмотрим следующую ситуацию. В базе данных Microsoft SQL Server 2008 возникает взаимоблокировка. Затем с помощью system_health Расширенные события сеанса для захвата deadlock graph. В этом случае появляется следующее сообщение об ошибке:
Сообщение 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. Даже если deadlock graph отображается неправильно, вы по-прежнему ожидать допустимый XML содержимого из отчета xml_deadlock_report. Тем не менее появляется следующее сообщение об ошибке:
Сообщение 9436, уровень 16, состояние 1, строка 1
Синтаксический анализ XML: строка 54, символ 12, закрывающий тег не соответствует смарт-тега

Причина

Эта проблема возникает, потому что путь кода, который создает схему XML для deadlock graph пропускает закрывающий тег Список жертвы элемент. Кроме того, путь кода добавляет ненужные тег для взаимоблокировки элемент.

Решение

Исправление этой уязвимости первого выпуска накопительного обновления 6 для пакета обновления 1 (Sp1) для SQL Server 2008 г. Для получения дополнительных сведений о этот накопительный пакет обновления щелкните следующий номер статьи базы знаний Майкрософт:
977443 Накопительный пакет обновления 6 для пакета обновления 1 (Sp1) для SQL Server 2008 г.
Примечание Поскольку сборки являются накопительными, каждый новый выпуск исправление содержит все исправления и все исправления безопасности, которые были включены в предыдущие 2008 SQL Server исправления выпуска. Мы рекомендуем рассмотреть Применение последнего выпуска исправления, содержащего это исправление. Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:
970365 2008 SQL Server выполняется построение, выпущенных после пакета обновления 1 (Sp1) для SQL Server 2008 г.
Microsoft SQL Server 2008 исправления создаются для определенного SQL Server пакеты. Для установки пакета обновления 1 (Sp1) для SQL Server 2008, необходимо установить исправление SQL Server 2008 с пакетом обновления 1. По умолчанию какие-либо исправления в пакет обновления SQL Server включено в следующий пакет SQL Server.

SQL Server 2008 R2

Важные Это исправление необходимо установить при работе SQL Server 2008 R2.

Исправление этой уязвимости первого выпуска в накопительное обновление 1. Для получения дополнительных сведений о том, как получить этот накопительный пакет обновления для SQL Server 2008 R2 щелкните следующий номер статьи базы знаний Майкрософт:

981355 Накопительный пакет обновлений 1 для SQL Server 2008 R2
Примечание Поскольку сборки являются накопительными, каждый новый выпуск исправление содержит все исправления и все исправления безопасности, которые были включены в предыдущие 2008 R2 SQL Server исправления выпуска. Мы рекомендуем рассмотреть Применение последнего выпуска исправления, содержащего это исправление. Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:

981356 SQL Server 2008 R2 построений, которые были выпущены после выхода SQL Server 2008 R2

Статус

Корпорация Майкрософт подтверждает, что это проблема в продуктах Майкрософт, перечисленных в разделе «Относится к».

Ссылки

Сведения о добавочных модель обслуживания для SQL Server щелкните следующий номер статьи базы знаний Майкрософт:
935897 Добавочное модель обслуживания доступна из группы SQL Server для доставки исправления для возникающих

Для получения дополнительных сведений о схеме именования SQL Server обновлений щелкните следующий номер статьи базы знаний Майкрософт:
822499Новая схема присвоения имен пакетам обновлений программного обеспечения Microsoft SQL Server

Для получения дополнительных сведений о терминологии, обновления программного обеспечения щелкните следующий номер статьи базы знаний Майкрософт:
824684 Стандартные термины, используемые при описании обновлений программных продуктов Майкрософт

Свойства

Код статьи: 978629 - Последний отзыв: 11 октября 2011 г. - Revision: 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 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:978629

Отправить отзыв

 

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