Você está offline; aguardando reconexão

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

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
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

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:
Situação
A Microsoft confirmou que este é um problema nos produtos Microsoft que estão listados na seção "Aplica-se a".

Warning: This article has been translated automatically

Propriedades

ID do Artigo: 2878968 - Última Revisão: 04/22/2014 12:04:00 - Revisão: 5.0

Microsoft SQL Server 2008 Service Pack 3, 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

  • kbqfe kbfix kbsurveynew kbexpertiseadvanced kbmt KB2878968 KbMtpt
Comentários
>