Aplica-se a
SQL Server 2008 Service Pack 3 SQL Server 2008 Enterprise SQL Server 2008 Developer SQL Server 2008 Standard SQL Server 2008 R2 Datacenter SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Standard SQL Server 2008 R2 Web SQL Server 2008 R2 Workgroup SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2012 Web SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Sintomas

Quando você executa uma instrução de atualização complexa juntamente com uma dica NOLOCK em relação a uma tabela no Microsoft SQL Server 2008, SQL Server 2012, SQL Server 2008 R2 ou SQL Server 2014, Talvez ocorra uma corrupção de índice não clusterizado. Além disso, a seguinte mensagem de erro pode ser registrada no log de erros do SQL Server:

<data><time> spid # erro: 8646, severidade: 21, estado: 1. <Data><time> SPID # não é possível encontrar a entrada de índice na ID de índice 3, 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><time> SPID # usando ' dbghelp. dll ' versão ' 4.0.5 ' <Data><time> SPID # * * despejo thread-SPID = 0, EC = 0x0000000BD70624C0<Data><time> SPID # * * * pilha despejo sendo enviado para Y:\MSSQL\MSSQL10. MSSQLSERVER\MSSQL\LOG\SQLDump0003.txt><2 data><time> SPID # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * <Data><hora> SPID # * <Data><time> SPID # * iniciar o despejo de pilha: <Data><time> SPID # * <Data><time> SPID # * CPerIndexMetaQS:: (SPID # * <Data><time> SPID # *:: ErrorAbort-><0 de corrupção de índice Data><tempo> SPID # *

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

Causa

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

Cada nova atualização cumulativa do SQL Server contém todos os hotfixes e todas as correções de segurança incluídas na atualização cumulativa anterior. Confira as atualizações cumulativas mais recentes do SQL Server:

Status

A Microsoft confirmou que este é um problema nos produtos Microsoft listados na seção "Aplicável a".

Precisa de mais ajuda?

Quer mais opções

Explore os benefícios da assinatura, procure cursos de treinamento, saiba como proteger seu dispositivo e muito mais.