CORREÇÃO: Mensagem de erro quando você usa a sessão system_health evento Extended para capturar um gráfico de deadlock em SQL Server de 2008: "Msg 9436: análise XML: linha 54, 12, caracteres de marca de fim não c...

Traduções de Artigos Traduções de Artigos
Artigo: 978629 - Ver produtos para os quais este artigo se aplica.
A Microsoft distribui correções de 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 correções de segurança que foram incluídas com o anterior de SQL Server de 2008 corrigir lançamento.
Expandir tudo | Reduzir tudo

Nesta página

Sintomas

Considere o seguinte cenário. Em um banco de dados de Microsoft SQL Server de 2008, um deadlock ocorre. Então, usar o system_health Estendido a sessão de eventos para capturar o gráfico de deadlock. Nesse cenário, você pode receber a seguinte mensagem de erro:
Msg 9436, nível 16, estado 1, linha 1
Análise XML: linha 54, 12, caracteres de marca de fim não coincide com a marca de início
Por exemplo, você executa a consulta a seguir para exportar o alvo buffer_ring a system_health Quando ocorre um deadlock de sessão:
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'
Neste exemplo, a consulta retorna o resultado correto.

No entanto, você também pode executar a consulta a seguir para converter este gráfico de deadlock em formato 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'
Nessa situação, você espera ver o gráfico de deadlock no formato XML. Mesmo se o gráfico de deadlock é exibido incorretamente, você ainda esperar 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, 12, caracteres de marca de fim não coincide com a marca de início

Causa

Esse problema ocorre porque o caminho de código que gera o esquema XML para o gráfico de deadlock ignora a marca de fechamento das vítima-list elemento. Além disso, o caminho de código adiciona uma marca desnecessária para o deadlock elemento.

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 dados de Conhecimento da Microsoft:
977443 Pacote de atualização cumulativa 6 para SQL Server 2008 Service Pack 1
Observação Como as compilações são cumulativas, cada novo lançamento de correções contém todos os hotfixes e correções de segurança que foram incluídas com o anterior de SQL Server de 2008 corrigir lançamento. Recomendamos que você considere a aplicação a versão mais recente da correção que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
970365 O SQL Server 2008 compilações lançadas após o lançamento do SQL Server 2008 Service Pack 1
Microsoft SQL Server 2008 hotfixes são criados para service packs específicos do SQL Server. Você deve aplicar um hotfix SQL Server 2008 Service Pack 1 para uma instalação do SQL Server 2008 Service Pack 1. Por padrão, qualquer hotfix que é fornecido em um service pack SQL Server está incluído no próximo service pack 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çada pela primeira vez na atualização cumulativa 1. Para obter mais informações sobre como obter esse pacote de atualizações cumulativas para SQL Server 2008 R2, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:

981355 Pacote de atualização cumulativo 1 para SQL Server 2008 R2
Observação Como as compilações são cumulativas, cada novo lançamento de correções contém todos os hotfixes e correções de segurança que foram incluídas com o anterior SQL Server 2008 R2 corrigir lançamento. Recomendamos que você considere a aplicação a versão mais recente da correção que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler 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

Ponto Da Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft 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 dados de Conhecimento da Microsoft:
935897 É de um modelo de serviços incrementais disponível da equipe de SQL Server para fornecer hotfixes para problemas relatados

Para obter mais informações sobre o esquema de nomeação para atualizações de SQL Server, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
822499Novo esquema de nomeação para pacotes de atualização de software 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 dados de Conhecimento da Microsoft:
824684 Descrição da terminologia padrão usada para descrever as atualizações de software Microsoft

Propriedades

Artigo: 978629 - Última revisão: 11 de outubro de 2011 - Revisão: 1.0
A informação contida neste artigo aplica-se a:
  • 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
Palavras-chave: 
kbexpertiseadvanced kbsurveynew kbqfe kbfix kbmt KB978629 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 978629

Submeter comentários

 

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