CORREÇÃO: A corrupção do índice não em cluster pode ocorrer quando você executa uma instrução UPDATE complexa com uma dica NOLOCK em uma tabela no SQL Server

Traduções deste artigo Traduções deste artigo
ID do artigo: 2878968 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sintomas

Quando você executa uma instrução UPDATE complexa com uma dica NOLOCK em uma tabela no Microsoft SQL Server 2008, SQL Server 2012, SQL Server 2008 R2 ou SQL Server 2014, pode ocorrer a corrupção do índice não está em cluster. Além disso, a seguinte mensagem de erro pode ser registrada no log de erros do 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 3 de ID da tabela 2102402659, no banco de dados 'DatabaseName>'. O índice indicado está corrompido ou há um problema com o plano de atualização atual. Execute DBCC CHECKDB ou DBCC CHECKTABLE. Se o problema persistir, entre em contato com o suporte ao produto.
Data>tempo> usando 'dbghelp. dll' versão '4.0.5' do spid #
Data>tempo> spid # * * despejo thread - spid = 0, EC = 0x0000000BD70624C0
Data>tempo> spid # * * * despejo da pilha está sendo enviada para Y:\MSSQL\MSSQL10.MSSQLSERVER\MSSQL\LOG\SQLDump0003.txt
Date>Time> spid # * *******************************************************************************
Data>tempo> spid # *
Data>tempo> spid # * iniciar despejo de pilha:
Data>tempo> spid # * Data>tempo> spid #
Data>tempo> spid # *
Data>tempo> spid # * CPerIndexMetaQS::ErrorAbort - corrupção do índice
Data>tempo> spid # *

Observação
você pode aplicar uma dica NOLOCK para tabelas de origem de uma instrução. No entanto, você não pode aplicar uma dica NOLOCK para tabelas de destino de uma instrução.

Causa

Esse problema ocorre porque a dica NOLOCK faz com que a consulta a leitura dos valores na tabela incorretamente quando a consulta lê os mesmos valores várias vezes.

Resolução

O problema foi corrigido primeiro na atualização cumulativa seguinte do SQL Server.

Atualização cumulativa 1 para SQL Server 2014

11 de atualização cumulativa para SQL Server 2012

Atualização cumulativa 7 para SQL Server 2012 SP1

13 de atualização cumulativa para SQL Server 2008 SP3

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

Sobre atualizações cumulativas para o SQL Server

Recolher esta imagemExpandir esta imagem
assets folding start collapsed
Cada nova atualização cumulativa para SQL Server contém todos os hotfixes e todas as correções de segurança que foram incluídas com a atualização cumulativa anterior. Confira as mais recentes atualizações cumulativas para o SQL Server:
Recolher esta imagemExpandir esta imagem
assets folding end collapsed

Situação

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

Propriedades

ID do artigo: 2878968 - Última revisão: terça-feira, 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 pelo software de tradução automática da Microsoft e eventualmente pode ter sido editado pela Microsoft Community através da tecnologia Community Translation Framework (CTF) ou por um tradutor profissional. A Microsoft oferece artigos traduzidos automaticamente por software, por tradutores profissionais e editados pela comunidade para que você tenha acesso a todos os artigos de nossa Base de Conhecimento em diversos idiomas. No entanto, um artigo traduzido pode conter erros de vocabulário, sintaxe e/ou gramática. A Microsoft não é responsável por qualquer inexatidão, erro ou dano causado por qualquer tradução imprecisa do conteúdo ou por seu uso pelos nossos clientes.
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