REVISIÓN: Pueden producirse daños del índice no agrupado cuando se ejecuta una instrucción UPDATE compleja junto con una sugerencia NOLOCK en una tabla de SQL Server

Seleccione idioma Seleccione idioma
Id. de artículo: 2878968 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Síntomas

Cuando se ejecuta una instrucción UPDATE compleja junto con una sugerencia NOLOCK en una tabla de Microsoft SQL Server 2008, SQL Server 2012, SQL Server 2008 R2 o 2014 de SQL Server, pueden producirse daños de índice no agrupado. Además, puede anotarse el siguiente mensaje de error en el registro de errores de SQL Server:

Fecha>tiempo> spid # Error: 8646, gravedad: 21, estado: 1.
Fecha>tiempo> spid # no se puede encontrar la entrada de índice en el ID de índice 3, de la tabla 2102402659, base de datos 'DatabaseName>'. El índice indicado está dañado o hay un problema con el plan de actualización actual. Ejecute DBCC CHECKDB o DBCC CHECKTABLE. Si el problema persiste, póngase en contacto con el servicio de soporte técnico.
Fecha>tiempo> utilizando 'dbghelp.dll' versión '4.0.5' de spid.
Fecha>tiempo> spid # ** volcar thread - spid = 0, CE = 0x0000000BD70624C0
Fecha>tiempo> spid # *** el volcado de pila enviándose a Y:\MSSQL\MSSQL10.MSSQLSERVER\MSSQL\LOG\SQLDump0003.txt
Date>Time> spid # * *******************************************************************************
Fecha>tiempo> spid # *
Fecha>tiempo> spid # * comenzar el volcado de pila:
Fecha>tiempo> spid # * fecha>tiempo> spid #
Fecha>tiempo> spid # *
Fecha>tiempo> spid # * CPerIndexMetaQS::ErrorAbort - daños del índice
Fecha>tiempo> spid # *

Nota
una sugerencia NOLOCK se puede aplicar a las tablas de origen en una instrucción. Sin embargo, no se puede aplicar una sugerencia NOLOCK en las tablas de destino de una instrucción.

Causa

Este problema se produce porque la sugerencia NOLOCK hace que la consulta lea incorrectamente los valores de la tabla cuando lee de la consulta los mismos valores de varias veces.

Solución

El problema se solucionó primero en la siguiente actualización acumulativa de SQL Server.

Actualización acumulativa 1 de SQL Server de 2014

Actualización acumulativa 11 para SQL Server 2012

Actualización acumulativa 7 para SQL Server 2012 SP1

Actualización acumulativa 13 para el SP3 de SQL Server 2008

9 de actualización acumulativa para el Service Pack 2 de SQL Server 2008 R2

Acerca de las actualizaciones acumulativas de SQL Server

Contraer esta imagenAmpliar esta imagen
assets folding start collapsed
Cada nueva actualización acumulativa para SQL Server contiene todas las revisiones y todas revisiones de la seguridad que se incluye con la actualización acumulativa anterior. Consulte las actualizaciones acumulativas más recientes para SQL Server:
Contraer esta imagenAmpliar esta imagen
assets folding end collapsed

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Se refiere a:".

Propiedades

Id. de artículo: 2878968 - Última revisión: martes, 22 de abril de 2014 - Versión: 5.0
La información de este artículo se refiere a:
  • Microsoft SQL Server 2008 Service Pack 3 sobre las siguientes 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
Palabras clave: 
kbqfe kbfix kbsurveynew kbexpertiseadvanced kbmt KB2878968 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 2878968

Enviar comentarios

 

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