Se aplica 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)

Síntomas

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

<fecha><tiempo> spid # error: 8646, gravedad: 21, estado: 1. <fecha><hora> SPID # no se puede encontrar la entrada de índice en el índice 3, de la tabla 2102402659, en la base de datos ' <nombreBasededatos> '. 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> SPID # usando la versión de ' DbgHelp. dll ' ' 4.0.5 ' <de fecha><hora> SPID # * * dump Thread-SPID = 0, EC = 0x0000000BD70624C0<Date><Time> SPID # * * * se envía el volcado de pila a Y:\MSSQL\MSSQL10. MSSQLSERVER\MSSQL\LOG\SQLDump0003.txt><2 Date><Time> SPID # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Date * * * * * * * * de><de SPID # * <de fecha yhora><el spid # * iniciar el volcado de pila :> hora <eltiempo><de SPID # *> de fecha y hora <SPID # * CPerIndexMetaQS:: <> ErrorAbort:><de daños de índice><0 fecha y hora> SPID # * Time

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

Causa

Este problema se produce porque la sugerencia NOLOCK provoca que la consulta Lea incorrectamente los valores de la tabla cuando la consulta Lee los mismos valores varias veces.

Cada actualización acumulativa para SQL Server contiene todas las revisiones y todas las revisiones de seguridad incluidas en la actualización acumulativa anterior. Consulte las últimas actualizaciones acumulativas para SQL Server:

Estado

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

¿Necesita más ayuda?

¿Quiere más opciones?

Explore las ventajas de las suscripciones, examine los cursos de aprendizaje, aprenda a proteger su dispositivo y mucho más.