CORRECÇÃO: Recebe o erro 605 e erro 824 quando executa uma consulta que insere dados numa tabela temporária no SQL Server 2008

Traduções de Artigos Traduções de Artigos
Artigo: 960770 - Ver produtos para os quais este artigo se aplica.
Erro: # 50003826 (correcção SQL)
A Microsoft distribui correcções Microsoft SQL Server 2008 como um ficheiro transferível. Uma vez que as correcções são cumulativas, cada nova versão contém todas as correcções e todas as correcções de segurança incluídas com o SQL Server 2008 anterior corrigir lançamento.
Expandir tudo | Reduzir tudo

Sintomas

No SQL Server 2008, executar uma consulta que insere dados uma tabela temporária. A instrução de inserção contém uma subconsulta que faz referência à mesma tabela temporária. Quando executa a consulta, receberá uma mensagem de erro semelhante à seguinte:
Msg 605, nível de 21, estado 3, linha 1
Tentativa de obter a página lógica (1:225) na base de dados 2 falhou. Pertence a unidade de atribuição 281474980315136 não para 504403158513025024.

Se executar novamente a consulta, receberá outra mensagem de erro semelhante à seguinte:

Msg 824, nível 24, estado 2, linha 1
SQL Server detectou um erro de E/s baseado na consistência lógico: soma de verificação incorrecta (esperado: 0x50758180; real: 0x15658bfc). Ocorreu durante uma leitura de página (1:336) da base de dados ID 2 no deslocamento 0x000000002a0000 no ficheiro 'C:\Program Files\Microsoft SQL Server\MSSQL10.SQL2008\MSSQL\DATA\tempdb.mdf'. Mensagens adicionais no registo de eventos do SQL Server erro registo ou sistema poderão fornecer mais detalhes. Esta é uma condição de erro grave que ameaça a integridade da base de dados e tem de ser corrigida imediatamente. Conclua uma verificação de consistência da base de dados (DBCC CHECKDB). Este erro pode ser causado por vários factores; para obter mais informações, consulte SQL Server Books Online.
Em alguns casos, poderá também receberá uma mensagem de erro semelhante à seguinte:
Msg 601, nível de 12, estado 3, procedimento de Procecure Name, linha de Line Number
Não foi possível continuar análise com NOLOCK devido a movimento de dados.

Resolução

A correcção deste problema primeiro foi disponibilizada em 3 de actualização cumulativa. Para obter mais informações sobre como obter este pacote de actualização cumulativa para o SQL Server 2008, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
960484Pacote de actualização cumulativa 3 para o SQL Server 2008
Nota Uma vez que as compilações são cumulativas, cada nova versão de correcção contém todas as correcções e todas as correcções de segurança incluídas com o SQL Server 2008 anterior corrigir lançamento. Recomendamos que considere aplicar a versão de correcção mais recente que contenha esta correcção. Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
956909O SQL Server 2008 cria disponibilizadas após o lançamento do SQL Server 2008
Depois de instalar este pacote de actualização cumulativa, terá de activar o sinalizador de rastreamento 4135. Para efectuar este procedimento, pode adicionar o -T4135 parâmetro de arranque, ou pode utilizar a instrução dbcc traceon(4135) para uma sessão individual.

Como contornar

Para contornar este problema, adicione uma coluna que tenha uma chave primária agrupada e uma propriedade de identidade para a tabela temporária. Por exemplo, execute a seguinte instrução para alterar a tabela temporária:
ALTER TABLE #TempTable
ADD id integer IDENTITY(1,1) CONSTRAINT id PRIMARY KEY CLUSTERED

Ponto Da Situação

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

Mais Informação

Para obter mais informações sobre os ficheiros que são alterados e para obter informações sobre quaisquer pré-requisitos para aplicar o pacote de actualização cumulativa que contém a correcção que é descrita neste artigo da base de dados de conhecimento da Microsoft, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
960484Pacote de actualização cumulativa 3 para o SQL Server 2008

Referências

Para obter mais informações sobre a lista de compilações disponíveis após o lançamento do SQL Server 2008, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
956909O SQL Server 2008 cria disponibilizadas após o lançamento do SQL Server 2008
Para obter mais informações sobre o modelo de assistência incremental para o SQL Server, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
935897Um modelo de assistência incremental está disponível a equipa do SQL Server para proporcionar correcções para problemas comunicados
Para obter mais informações sobre o esquema de atribuição de nomes para as actualizações do SQL Server, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
822499Novo esquema de atribuição de nomes de ficheiros para pacotes de actualização de software do Microsoft SQL Server
Para obter mais informações sobre a terminologia de actualização de software, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
824684Descrição da terminologia padrão utilizada para descrever actualizações de software da Microsoft

Propriedades

Artigo: 960770 - Última revisão: 23 de janeiro de 2009 - Revisão: 2.1
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2008 Web
Palavras-chave: 
kbmt kbexpertiseadvanced kbfix kbsurveynew kbqfe KB960770 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: 960770

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