CORRECÇÃO: Danos no índice agrupado podem ocorrer quando executa uma instrução UPDATE complexa em conjunto com uma sugestão NOLOCK contra uma tabela no SQL Server

Traduções de Artigos Traduções de Artigos
Artigo: 2878968 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sintomas

Quando executa uma instrução UPDATE complexa em conjunto com uma sugestão NOLOCK uma tabela no Microsoft SQL Server 2008, 2012 do SQL Server, SQL Server 2008 R2 ou SQL Server 2014, poderão ocorrer danos no índice agrupado. Além disso, a seguinte mensagem de erro poderá ser registada no registo de erros de SQL Server:

Data>tempo> spid # erro: 8646, gravidade: 21, estado: 1.
Data>tempo> spid # não é possível localizar a entrada de índice remissivo no índice de ID 3. o, da tabela 2102402659, na base de dados 'DatabaseName>'. O índice indicado está danificado ou existe um problema com o plano de actualização actual. Executar DBCC CHECKDB ou DBCC CHECKTABLE. Se o problema persistir, contacte o suporte de produto.
Data>tempo> versão do spid # utilizando 'dbghelp. dll' '4.0.5'
Data>tempo> spid # * * copiar thread - spid = 0, CE = 0x0000000BD70624C0
Data>tempo> spid # * * * pilha de informação a ser enviada para Y:\MSSQL\MSSQL10.MSSQLSERVER\MSSQL\LOG\SQLDump0003.txt
Date>Time> spid # * *******************************************************************************
Data>tempo> spid # *
Data>tempo> spid # * começar a copiar de pilha:
Data>tempo> spid # * data>tempo> spid #
Data>tempo> spid # *
Data>tempo> spid # * CPerIndexMetaQS::ErrorAbort - danos no índice
Data>tempo> spid # *

Nota
pode aplicar uma sugestão NOLOCK para tabelas de origem numa instrução. No entanto, não é possível aplicar uma sugestão NOLOCK para tabelas de destino numa instrução.

Causa

Este problema ocorre porque a sugestão NOLOCK faz com que a consulta para ler incorrectamente os valores na tabela quando a consulta lê os mesmos valores de várias vezes.

Resolução

O problema foi corrigido pela primeira vez na actualização cumulativa do SQL Server.

Actualização cumulativa 1 para o SQL Server 2014

Actualização cumulativa 11 para o SQL Server 2012

Actualização cumulativa 7 para o SQL Server 2012 SP1

Actualização cumulativa 13 para o SQL Server 2008 SP3

Actualização cumulativa 9 para SQL Server 2008 R2 SP2

Acerca de actualizações cumulativas para o SQL Server

Reduzir esta imagemExpandir esta imagem
assets folding start collapsed
Cada nova actualização cumulativa para o SQL Server contém todas as correcções e todas as correcções de segurança que foram incluídas com a anterior actualização cumulativa. Verifique as actualizações mais recentes cumulativas para o SQL Server:
Reduzir esta imagemExpandir esta imagem
assets folding end collapsed

Ponto Da Situação

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

Propriedades

Artigo: 2878968 - Última revisão: 22 de abril de 2014 - Revisão: 5.0
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2008 Service Pack 3 nas seguintes plataformas
    • Microsoft SQL Server 2008 Enterprise
    • Microsoft SQL Server 2008 Developer
    • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Web
  • Microsoft SQL Server 2008 R2 Workgroup
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2012 Web
  • Microsoft SQL Server 2014 Developer
  • Microsoft SQL Server 2014 Enterprise
  • Microsoft SQL Server 2014 Standard
Palavras-chave: 
kbqfe kbfix kbsurveynew kbexpertiseadvanced kbmt KB2878968 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: 2878968

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