CORRECÇÃO: Mensagem de erro quando você executa uma consulta que contém aninhadas cláusulas de FOR XML no SQL Server 2005: ? O tipo de dados XML está danificado ?

Traduções deste artigo Traduções deste artigo
ID do artigo: 933808 - Exibir os produtos aos quais esse artigo se aplica.
Bug: # 50000918 (Hotfix do SQL)
Aviso
A Microsoft distribui correções do Microsoft SQL Server 2005 como um arquivo para download. Como as correções são cumulativas, cada versão nova contém todos os hotfixes e todos os as correções de segurança que foram incluídas com o anterior SQL Server 2005 corrigir lançamento.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

Este artigo descreve o seguinte sobre esta versão de hotfix:
  • Problemas corrigidos pelo pacote de hotfix
  • Os pré-requisitos para instalar o pacote de hotfix
  • Se é necessário reiniciar o computador depois de instalar o pacote de hotfix
  • Se o pacote de hotfix é substituído por qualquer outro pacote de hotfix
  • Se você deve fazer alterações no registro
  • Arquivos que estão contidos no pacote de hotfix

Sintomas

Quando você executa uma consulta que contém aninhadas cláusulas de FOR XML no SQL Server 2005, você receber a seguinte mensagem de erro:
Msg 6611, nível 16, estado 1, linha 2
O tipo de dados XML está danificado.
Esse problema ocorre se as seguintes condições forem verdadeiras:
  • As cláusulas de FOR XML usam a diretiva de tipo.
  • Você especificar uma consulta do XQuery com o tipo de dados XML retornado pela consulta.
  • Na consulta XQuery, você fazer referência a QNames na parte superior da cláusula FOR XML.

Resolução

Informações da atualização cumulativa

Para resolver esse problema, obtenha o pacote de atualizações cumulativas para o SQL Server 2005 Service Pack 2 (compilação 3161). Para obter mais informações sobre como obter o cumulativo (compilação 3161) pacote de atualização, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
935356Pacote de atualização cumulativo (compilação 3161) para o SQL Server 2005 Service Pack 2 está disponível

Informações sobre o hotfix

Um hotfix suportado está disponível no Microsoft. No entanto, esse hotfix destina-se a corrigir o problema descrito neste artigo. Aplique-o somente aos sistemas que apresentarem esse problema específico. Esta correcção poderá submetida a testes adicionais. Portanto, se você não tiver sido gravemente afetado por esse problema, recomendamos que você aguarde a próxima atualização de software que contém esse hotfix.

Se o hotfix está disponível para download, há uma seção "Download de Hotfix disponível" na parte superior neste artigo da Base de dados de Conhecimento. Se esta seção não for exibida, contate o atendimento e suporte para obter o hotfix.

Observação Se ocorrerem problemas adicionais ou se qualquer solução de problemas é necessária, talvez você precise criar uma solicitação de serviço separada. Os custos normais de suporte serão aplicados a questões de suporte adicionais e problemas que não se qualificam para esse hotfix específico. Para obter uma lista completa de números de telefone de suporte e Atendimento Microsoft ou para criar uma solicitação de serviço separada, visite o seguinte site:
http://support.microsoft.com/contactus/?ws=support
Observação O formulário "Download de Hotfix disponível" exibe os idiomas para os quais o hotfix está disponível. Se você não vir seu idioma, é porque um hotfix não está disponível para esse idioma.

Pré-requisitos

  • SQL Server 2005 Service Pack 2
    Para obter mais informações sobre como obter o SQL Server 2005 Service Pack 2, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
    913089Como obter o service pack mais recente para o SQL Server 2005

Informações sobre reinicialização

Não é necessário reiniciar o computador após aplicar esse hotfix.

Informações do registro

Não é necessário alterar o registro.

Informações sobre o arquivo de hotfix

Esse hotfix contém apenas os arquivos que são necessárias para corrigir os problemas que este artigo lista. Este hotfix não pode conter de todos os arquivos que você deve ter para actualizar completamente um produto para a compilação mais recente.A versão em inglês deste hotfix tem atributos de arquivo (ou atributos de arquivo posteriores) listados na tabela a seguir. As datas e horas desses arquivos estão listadas no horário de universal coordenado (UTC). Quando você exibe as informações do arquivo, ele é convertido para a hora local. Para encontrar a diferença entre o UTC e a hora local, use a guia fuso horário no item Data e hora no painel de controle.
Versão do SQL Server 2005 32-bit
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
Microsoft.SQLServer.maintenanceplantasks.dll9.0.3155.0296,30413 De março de 200714: 12x 86
Msmdlocal.dll9.0.3155.015,930,22413 De março de 200714: 12x 86
Mssqlsystemresource.ldfNão aplicável524,28813 De março de 200711: 11Não aplicável
Mssqlsystemresource.mdfNão aplicável40,173,56813 De março de 200711: 11Não aplicável
Rdistcom.dll2005.90.3155.0644,46413 De março de 200714: 12x 86
Sqlaccess.dll2005.90.3155.0350,57613 De março de 200714: 12x 86
Sqlservr.exe2005.90.3155.029,192,56013 De março de 200714: 12x 86
SQL Server 2005 x versão 64
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
Microsoft.SQLServer.maintenanceplantasks.dll9.0.3155.0296,30413 De março de 200714: 12x 86
Msmdlocal.dll9.0.3155.015,930,22413 De março de 200714: 12x 86
Mssqlsystemresource.ldfNão aplicável524,28813 De março de 200711: 11Não aplicável
Mssqlsystemresource.mdfNão aplicável40,173,56813 De março de 200711: 11Não aplicável
Rdistcom.dll2005.90.3155.0828,27213 De março de 200719: 19x 64
Sqlaccess.dll2005.90.3155.0357,74413 De março de 200719: 19x 86
Sqlservr.exe2005.90.3155.038,577,00813 De março de 200719: 19x 64
Versão de arquitetura Itanium do SQL Server 2005
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
Microsoft.SQLServer.maintenanceplantasks.dll9.0.3155.0296,30413 De março de 200714: 12x 86
Msmdlocal.dll9.0.3155.049,815,92013 De março de 200720: 35IA-64
Mssqlsystemresource.ldfNão aplicável524,28813 De março de 200711: 11Não aplicável
Mssqlsystemresource.mdfNão aplicável40,173,56813 De março de 200711: 11Não aplicável
Rdistcom.dll2005.90.3155.01,885,04013 De março de 200720: 35IA-64
Sqlaccess.dll2005.90.3155.0352,11213 De março de 200720: 35x 86
Sqlservr.exe2005.90.3155.072,547,18413 De março de 200720: 35IA-64

Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a".

Mais Informações

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 dados de Conhecimento da Microsoft:
822499Novo esquema para nomeação para pacotes de atualização de software do Microsoft SQL Server

Para obter mais informações sobre terminologia de atualização de software, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
824684Descrição da terminologia padrão que é usada para descrever as atualizações de software

Etapas para reproduzir o problema

  1. Abra o SQL Server Management Studio e, em seguida, crie uma nova consulta.
  2. Run the following statements:
    CREATE TABLE [dbo].[TABLE0](
    	[COL0] [int] NULL,
    	[COL1] [varchar](50) NULL,
    	[COL2] [varchar](50) NULL,
    	[COL3] [varchar](50) NULL,
    	[COL4] [varchar](50) NULL,
    	[COL5] [varchar](50) NULL,
    	[COL6] [varchar](50) NULL,
    	[COL7] [varchar](50) NULL,
    	[COL8] [varchar](50) NULL
    ) ON [PRIMARY]
    
    CREATE TABLE [dbo].[TABLE1](
    	[COL0] [int] NULL,
    	[COL1] [int] NULL,
    	[COL2] [varchar](50) NULL,
    	[COL3] [varchar](50) NULL,
    	[COL4] [varchar](50) NULL,
    	[COL5] [varchar](50) NULL,
    	[COL6] [varchar](50) NULL,
    	[COL7] [varchar](50) NULL,
    	[COL8] [varchar](50) NULL
    ) ON [PRIMARY]
    GO
    
    -- Populating tables
    
    DECLARE @X INT, @Y INT
    SET @X=0
    WHILE @X < 20
      BEGIN
    	INSERT TABLE0 VALUES(@X,'DATAFORCOLUMN1','DATAFORCOLUMN2','DATAFORCOLUMN3','DATAFORCOLUMN4','DATAFORCOLUMN5','DATAFORCOLUMN6','DATAFORCOLUMN7','DATAFORCOLUMN8')
    	SET @Y=0
    	WHILE @Y < 20
    	  BEGIN
    		INSERT TABLE1 VALUES(@X,@Y,'DATAFORCOLUMN2','DATAFORCOLUMN3','DATAFORCOLUMN4','DATAFORCOLUMN5','DATAFORCOLUMN6','DATAFORCOLUMN7','DATAFORCOLUMN8')
    		SET @Y=@Y+1
    	  END
        SET @X=@X+1
      END
    
    -- 
    
    SELECT
    (
         SELECT TABLE0.COL0,
    		    TABLE0.COL1,
    			TABLE0.COL2,
                TABLE0.COL3,
                TABLE0.COL4,
                TABLE0.COL5,
                TABLE0.COL6,
                TABLE0.COL7,
                TABLE0.COL8,
                (           
                      SELECT 
                            TABLE1.COL0,
                            TABLE1.COL1,
                            TABLE1.COL2,
                            TABLE1.COL3,
                            TABLE1.COL4,
                            TABLE1.COL5,
                            TABLE1.COL6,
                            TABLE1.COL7,
                            TABLE1.COL8
                      FROM TABLE1
                      WHERE TABLE0.COL0=TABLE1.COL0
                              FOR XML PATH('RECORDS'), ROOT('TABLE1'),TYPE   
                ) 
          FROM
                TABLE0 FOR XML PATH('RECORDS'), ROOT('TABLE0'),TYPE         
    ).query
    ('
          for $record in /TABLE0/RECORDS/TABLE1/RECORDS
          return
                <OUTPUTXML>
                      {$record/../../COL0}
                      {$record/COL1}
                </OUTPUTXML>
    ')
    

Propriedades

ID do artigo: 933808 - Última revisão: terça-feira, 20 de novembro de 2007 - Revisão: 1.4
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Workgroup Edition
Palavras-chave: 
kbmt kbautohotfix kbpubtypekc kbqfe kbhotfixserver kbfix kbsql2005engine kbexpertiseadvanced KB933808 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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 933808

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