CORREÇÃO: Mensagem de erro quando você usar a sessão eventos estendidos system_health para capturar um gráfico de bloqueio no SQL Server 2008: "Msg 9436: análise XML: linha 54 caracteres 12, marca de fim não coincide com a marca de início"

BUG n º: 125532 (Manutenção do conteúdo)
Número de bug do VSTS: 386058

A Microsoft distribui correções do Microsoft SQL Server 2008 como um arquivo para download. Como as correções são cumulativas, cada versão nova contém todos os hotfixes e todas as correções de segurança que foram incluídas com o SQL Server de 2008 a anterior corrigir lançamento.

Sintomas

Considere o seguinte cenário: Em um banco de dados do Microsoft SQL Server 2008, um deadlock ocorre. Em seguida, use a sessão eventos estendidos system_health para capturar o gráfico de deadlock. Nesse cenário, você recebe a seguinte mensagem de erro:

Msg 9436, nível 16, estado 1, linha 1

Análise XML: linha 54 caracteres 12, marca de fim não coincide com a marca de início

Por exemplo, você pode executar a consulta a seguir para exportar o destino buffer_ring da sessão system_health quando ocorre um deadlock:

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'

Neste exemplo, a consulta retornará o resultado correto.

No entanto, você também pode executar a consulta a seguir para converter este gráfico deadlock no formato 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'

Nessa situação, você espera ver o gráfico de deadlock no formato XML. Mesmo se o gráfico de deadlock é exibido incorretamente, você espera ver o conteúdo do relatório de xml_deadlock_report XML válido. No entanto, você pode receber a seguinte mensagem de erro:

Msg 9436, nível 16, estado 1, linha 1
Análise XML: linha 54 caracteres 12, marca de fim não coincide com a marca de início

Causa

Esse problema ocorre porque o caminho do código que gera o esquema XML para o gráfico de deadlock pula a marca de fechamento do elemento lista de vítimas . Além disso, o caminho de código adiciona uma marca desnecessária para o elemento de deadlock .

Resolução


A correção para esse problema foi lançada pela primeira vez na atualização cumulativa 6 para SQL Server 2008 Service Pack 1. Para obter mais informações sobre esse pacote cumulativo de atualização, clique no número abaixo para ler o artigo na Base de Conhecimento da Microsoft:

6 do pacote de atualização do 977443 cumulativo para o SQL Server 2008 Service Pack 1Observação: Como as compilações são cumulativas, cada novo lançamento de correções contém todos os hotfixes e todas as correções de segurança que foram incluídas com o SQL Server de 2008 lançamento de correção. Recomendamos que você considere aplicar o lançamento mais recente de correção que contém esse hotfix. Para obter mais informações, clique no número de artigo a seguir para visualizar o artigo na Base de Dados de Conhecimento da Microsoft:

970365 cria o SQL Server 2008 que foram lançadas após o lançamento do SQL Server 2008 Service Pack 1
Os hotfixes do Microsoft SQL Server 2008 são criados para service packs específicos do SQL Server. Você deve aplicar um hotfix do SQL Server 2008 Service Pack 1 para uma instalação do SQL Server 2008 Service Pack 1. Por padrão, todos os hotfixes fornecidos em um service pack do SQL Server estão incluídos no próximo service pack do SQL Server.


SQL Server 2008 R2

Importante: Se você estiver executando o SQL Server 2008 R2, você deve instalar essa correção.

A correção para esse problema foi lançado pela primeira vez na atualização cumulativa 1. Para obter mais informações sobre como obter esse pacote de atualização cumulativa para SQL Server 2008 R2, clique no número abaixo para ler o artigo na Base de Conhecimento da Microsoft:

981355 pacote de atualização cumulativa 1 para SQL Server 2008 R2Observação: Como as compilações são cumulativas, cada novo lançamento de correções contém todos os hotfixes e todas as correções de segurança que foram incluídas com o SQL Server 2008 R2 anteriores corrigir lançamento. Recomendamos que você considere aplicar o lançamento mais recente de correção que contém esse hotfix. Para obter mais informações, clique no número de artigo a seguir para visualizar o artigo na Base de Dados de Conhecimento da Microsoft:

981356 o SQL Server 2008 R2 compilações lançadas após o lançamento do SQL Server 2008 R2

Status

A Microsoft confirma que este é um problema em seus produtos listados na seção "Aplica-se a".

Referências

Para obter informações sobre o modelo de serviços incrementais para SQL Server, clique no número abaixo para ler o artigo na Base de Conhecimento da Microsoft:

935897 um modelo de serviços incrementais está disponível da equipe do SQL Server para fornecer hotfixes para problemas relatados


Para obter mais informações sobre o esquema para nomeação para atualizações do SQL Server, clique no número abaixo para ler o artigo na Base de Conhecimento da Microsoft:

822499 Novo esquema para nomeação para pacotes de atualização de software do Microsoft SQL Server
Para obter mais informações sobre a terminologia de atualização de software, clique no número abaixo para ler o artigo na Base de Conhecimento da Microsoft:

824684 descrição da terminologia padrão usada para descrever as atualizações de software

Autor (SME): bruceye; v-linazh; Sureshka
Gravador: v-vincli
Revisor técnico: Sureshka; jhalmans; pedrou; mikewa
Editor: v-chliao

Precisa de mais ajuda?

Expanda suas habilidades
Explore o treinamento
Obtenha novos recursos primeiro
Ingressar no Microsoft Insider

Estas informações foram úteis?

Obrigado por seus comentários!

Agradecemos pelos seus comentários! Parece que pode ser útil conectar você a um de nossos agentes de suporte do Office.

×