Se aplica a
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Enterprise Core SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2016 Service Pack 1

Síntomas

Cambie el tipo de datos de una columna en una tabla de base de datos de ntext a nvarchar (Max) en un servidor que ejecute Microsoft SQL Server 2012, 2014 o 2016. Al actualizar la tabla agregando más de 4.000 registros, DBCC CHECKDB puede notificar errores similares a los siguientes:

Msj 8961, nivel 16, estado 1, lineNumber Error de tabla: objectId, indexID, partitionID, allocUnitID (tipo de datos LOB). El nodo de datos fuera de la fila en la página (pageId), la ranura 0, textID no coincide con su referencia de la página (pageId), ranura 0. Msj 8961, nivel 16, estado 1, lineNumber Error de tabla: objectId, indexID, partitionID, allocUnitID (tipo de datos LOB). El nodo de datos fuera de la fila en la página (pageId), la ranura 0, textID no coincide con su referencia de la página (pageId), ranura 0. MSG 8929, nivel 16, estado 1, lineNumberobjectId, indexID, partitionID, allocUnitID (escribir datos de la fila): se han encontrado errores en los datos fuera de la fila con el identificador que posee el registro de datos, identificado por RID = (RID) Resultados de DBCC para 'NombreTabla'. Hay 1 fila en 1 páginas para el objeto "TableName". CHECKTABLE encontró 0 errores de asignación y 3 errores de coherencia en la tabla 'TableName' (objectId). repair_allow_data_loss es el nivel mínimo de reparación para los errores encontrados por DBCC CHECKTABLE (DatabaseName. TableName). Ejecución de DBCC completada. Si hay mensajes de error de DBCC impresos, póngase en contacto con el administrador del sistema.

Resolución

Este problema se ha corregido en las siguientes actualizaciones acumulativas para SQL Server:

Actualización acumulativa 5 para SQL Server 2016 RTM

Actualización acumulativa 2 para SQL Server 2016 SP1

Actualización acumulativa 4 para SQL Server 2014 SP2

Actualización acumulativa 11 para SQL Server 2014 SP1

Actualización acumulativa 7 para SQL Server 2012 Service Pack 3

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

Actualización acumulativa más reciente de SQL Server 2016

Actualización acumulativa más reciente de SQL Server 2014

Actualización acumulativa más reciente de SQL Server 2012 SP3

Solución alternativa

Para evitar este problema después de cambiar el tipo de datos, establezca la opción tipos de valores grandes fuera de la fila en 1.

ALTER TABLE TableName ALTER COLUMN COLUMN_NAME nvarchar(max) NOT NULL 
go
exec sp_tableoption 'TableName', 'large value types out of row', '1'

Estado

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

Referencias

Obtenga más información sobre la terminología que Microsoft usa para describir las actualizaciones de software.

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