Symptômes

Vous modifiez le type de données d’une colonne d’une table de base de données à partir de la base de données ntext en fonction du type de données (max) sur un serveur exécutant Microsoft SQL Server 2012, 2014 ou 2016. Lorsque vous mettez à jour le tableau en ajoutant plus de 4 000 enregistrements, DBCC CHECKDB peut signaler des erreurs similaires à ce qui suit :

MSG 8961, niveau 16, état 1, LineNumber Erreur de table : ObjectID, IndexID, PARTITIONID, allocUnitID (données métier de type). Le nœud de données hors ligne de la page (pageid), slot 0, textID ne correspond pas à sa référence à partir de la page (pageid), slot 0. MSG 8961, niveau 16, état 1, LineNumber Erreur de table : ObjectID, IndexID, PARTITIONID, allocUnitID (données métier de type). Le nœud de données hors ligne de la page (pageid), slot 0, textID ne correspond pas à sa référence à partir de la page (pageid), slot 0. MSG 8929, niveau 16, état 1, LineNumberObjectID, IndexID, PartitionID, allocUnitID (type de données dans la ligne) : Erreurs détectées dans les données de non-ligne avec ID possédé par l’enregistrement de données identifié par RID = (RID) Résultats DBCC pour'TableName'. Il y a 1 lignes en 1 pages pour l’objet «TableName». CHECKTABLE a détecté des erreurs d’allocation de 0 et 3 erreurs de cohérence dans la table'TableName' (ObjectID). repair_allow_data_loss est le niveau de réparation minimum pour les erreurs trouvées par DBCC CHECKTABLE (DatabaseName. TableName). Exécution DBCC terminée. S’il s’agit de messages d’erreur d’impression DBCC, contactez votre administrateur système.

Résolution

Ce problème a été résolu dans les mises à jour cumulatives de SQL Server suivantes :

Mise à jour cumulative 5 pour SQL Server 2016 RTM

Mise à jour cumulative 2 pour SQL Server 2016 SP1

Mise à jour cumulative 4 pour SQL Server 2014 SP2

Mise à jour cumulative 11 pour SQL Server 2014 SP1

Mise à jour cumulative 7 pour SQL Server 2012 Service Pack 3

Chaque nouvelle mise à jour cumulative pour SQL Server contient tous les correctifs et correctifs de sécurité inclus dans la mise à jour cumulative précédente. Consultez les dernières mises à jour cumulatives pour SQL Server :

Dernière mise à jour cumulative pour SQL Server 2016

Dernière mise à jour cumulative pour SQL Server 2014

Dernière mise à jour cumulative pour SQL Server 2012 SP3

Solution de contournement

Pour contourner ce problème une fois que vous avez modifié le type de données, définissez l’option types de valeurs en dehors des lignes sur 1.

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

Statut

Microsoft a confirmé l'existence de ce problème dans les produits Microsoft figurant dans la liste des produits concernés par cet article.

Références

Apprenez-en davantage sur la terminologie utilisée par Microsoft pour décrire les mises à jour logicielles.

Besoin d’aide ?

Développez vos compétences
Découvrez des formations
Accédez aux nouvelles fonctionnalités en avant-première
Rejoindre Microsoft Insider

Ces informations vous ont-elles été utiles ?

Dans quelle mesure êtes-vous satisfait(e) de la qualité de la traduction ?

Qu’est-ce qui a affecté votre expérience ?

Avez-vous d’autres commentaires ? (Facultatif)

Nous vous remercions pour vos commentaires.

×