Номер ошибки: 125532 (Content Maintenance)
VSTS номер ошибки: 386058

Корпорация Майкрософт распространяет исправления Microsoft SQL Server 2008 как один загружаемый файл. Так как исправления являются накопительными, каждый выпуск содержит все исправления и все исправления безопасности, которые были включены в предыдущие 2008 SQL Server исправления выпуска.

Симптомы

Рассмотрим следующую ситуацию. В базе данных Microsoft SQL Server 2008 возникает взаимоблокировка. Затем используется сеанс расширенных событий system_health для записи графа взаимоблокировок. В этом случае появляется следующее сообщение об ошибке:

Msg 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. Тем не менее появляется следующее сообщение об ошибке:

Msg 9436, уровень 16, состояние 1, строка 1
Синтаксический анализ XML: строка 54, символ 12, закрывающий тег не соответствует открывающий тег

Причина

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

Решение


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

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

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 щелкните следующий номер статьи базы знаний Майкрософт:

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

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

Статус

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

Ссылки

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

935897 добавочных модель обслуживания доступна из группы SQL Server для предоставления исправления для проблем, о которых сообщалось в


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

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

Описание 824684 Стандартные термины, используемые при описании обновлений программных продуктов Майкрософт

Автор (малых и средних Предприятий): bruceye; v-linazh; Sureshka
Разработчик документации: v-vincli
Технический редактор: Sureshka; jhalmans; pedrou; mikewa
Редактор: v-chliao

Нужна дополнительная помощь?

Совершенствование навыков
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединение к программе предварительной оценки Майкрософт

Были ли сведения полезными?

Насколько вы удовлетворены качеством перевода?

Что повлияло на вашу оценку?

Добавите что-нибудь? Это необязательно

Спасибо за ваш отзыв!

×