Vous êtes actuellement hors ligne, en attente de reconnexion à Internet.

CORRECTIF : Une altération d'index non ordonnés en clusters peut-être se produire lorsque vous exécutez une instruction UPDATE complexe avec un indicateur NOLOCK sur une table dans SQL Server

IMPORTANT : Cet article est issu d'une traduction automatique réalisée par un logiciel Microsoft et non par un traducteur professionnel. Cette traduction automatique a pu aussi être révisée par la communauté Microsoft grâce à la technologie Community Translation Framework (CTF). Pour en savoir plus sur cette technologie, veuillez consulter la page http://support.microsoft.com/gp/machine-translation-corrections/fr. Microsoft vous propose en effet des articles traduits par des professionnels, des articles issus de traductions automatiques et des articles issus de traductions automatiques révisées par la communauté Microsoft, de manière à ce que vous ayez accès à tous les articles de notre Base de connaissances dans votre langue. Il est important de noter que les articles issus de la traduction automatique, y compris ceux révisés par la communauté Microsoft, peuvent contenir des erreurs de vocabulaire, de syntaxe ou de grammaire. Microsoft ne pourra être tenu responsable des imprécisions, erreurs, ainsi que de tout dommage résultant d’une traduction incorrecte du contenu ou de son utilisation par les clients.

La version anglaise de cet article est la suivante: 2878968
Symptômes
Lorsque vous exécutez une instruction UPDATE complexe avec un indicateur NOLOCK sur une table dans Microsoft SQL Server 2008, SQL Server 2012, SQL Server 2008 R2 ou SQL Server 2014, une altération d'index non ordonnés en clusters peut-être se produire. En outre, le message d'erreur suivant peut être enregistré dans le journal des erreurs SQL Server :

Date>temps> spid # erreur : 8646, gravité : 21, état: 1.
Date>temps> spid # Impossible de trouver l'entrée d'index dans l'index ID 3, de la table 2102402659, base de données 'DatabaseName>'. L'index spécifié est endommagé ou il y a un problème avec le plan de mise à jour en cours. Exécutez DBCC CHECKDB ou DBCC CHECKTABLE. Si le problème persiste, contactez le support technique.
Date>temps> utilisation 'de dbghelp.dll' version '4.0.5' spid #
Date>temps> spid # ** thread de vidage - spid = 0, EC = 0x0000000BD70624C0
Date>temps> spid # *** vidage de pile envoyé vers Y:\MSSQL\MSSQL10.MSSQLSERVER\MSSQL\LOG\SQLDump0003.txt
Date>Time> spid # * *******************************************************************************
Date>temps> spid # *
Date>temps> spid # * commencer le vidage de pile :
Date>temps> spid # * Date>temps> spid #
Date>temps> spid # *
Date>temps> spid # * CPerIndexMetaQS::ErrorAbort - une altération d'Index
Date>temps> spid # *

Remarque
vous pouvez appliquer un indicateur NOLOCK aux tables source dans une instruction. Toutefois, vous ne peut pas appliquer un indicateur NOLOCK pour les tables cibles dans une instruction.

Cause
Ce problème se produit car l'indicateur NOLOCK provoque la lecture incorrecte des valeurs dans la table lorsque la requête lit les plusieurs fois les mêmes valeurs de la requête.
Résolution
Le problème a été tout d'abord résolu dans la mise à jour cumulative suivante de SQL Server.

Mise à jour cumulative 1 pour SQL Server 2014

Mise à jour cumulative 11 de SQL Server 2012

Mise à jour cumulative 7 pour SQL Server 2012 SP1

Mise à jour cumulative 13 pour SQL Server 2008 SP3

Mise à jour cumulative 9 pour SQL Server 2008 R2 SP2

À propos des mises à jour cumulatives pour SQL Server

Chaque nouvelle mise à jour cumulative pour SQL Server contient tous les correctifs logiciels et des correctifs de sécurité qui ont été inclus dans la précédente mise à jour cumulative. Découvrez les dernières mises à jour cumulatives pour SQL Server :
Statut
Microsoft a confirmé qu'il s'agit d'un problème pour les produits Microsoft répertoriés dans la section « S'applique à ».

Avertissement : Cet article a été traduit automatiquement.

Propriétés

ID d'article : 2878968 - Dernière mise à jour : 04/22/2014 20:23:00 - Révision : 5.0

Microsoft SQL Server 2008 Service Pack 3, 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

  • kbqfe kbfix kbsurveynew kbexpertiseadvanced kbmt KB2878968 KbMtfr
Commentaires
=">