KB2888658-une violation d’accès se produit lorsque la fonction sys.dm_db_index_physical_stats est utilisée dans une instruction IF EXISTs dans une requête SQL dans SQL Server 2012

Symptômes

Vous exécutez une requête SQL contenant une instruction si existe dans Microsoft SQL Server 2012. Si l’instruction Exists contient la fonction de gestion dynamique sys.dm_db_index_physical_stats, vous recevez une violation d’accès qui ressemble à ce qui suit :

Dateetheure de la date SPID # * * *datetime * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *= Date TimeSPID# * Date etheureSPID# * commencer le vidage de # pile : Date Time #SPID#time * Date Time SPID# Date#TimeSPID# * Date TimeSPID# * DateTime SPID #* adresse d’exception = 000007FF7DA5614B module (sqlmin + 000000000000614B) Date TimeSPID# * code d’exception = c0000005 EXCEPTION_ACCESS_VIOLATION date de l’heure SPID # * violationdated’accès lors de la lecture d’une adresse0000000800000F04 date etheuretimeSPID 510 SQL_query_code #

Remarques

  • Si vous exécutez la commande DBCC CHECKDB sur une base de données en cas de violation d’accès, aucune erreur n’est signalée.

  • La violation d’accès ne se produit pas quand vous exécutez la requête SQL pour la première fois. Toutefois, la violation d’accès se produit chaque fois que vous exécutez la requête SQL après celle-ci.

  • Si vous activez l’indicateur de suivi 3654, la violation d’accès ne se produit pas. Néanmoins, vous recevez l’erreur suivante dans la trace à la place :

    Emplacement : sosmemdbg. cpp : 2074Expression : FALSESPID : 55Process ID : 16972Description : MEMOBJ_INDEXANALYSIS--mémoire insuffisante détectée. MSG 3624, niveau 20, état 1, vérification de l’assertion du système de la ligne 5A. Pour plus d’informations, consultez le journal des erreurs SQL Server. En règle générale, un échec d’assertion est lié à un bogue logiciel ou à des données endommagées. Pour vérifier la corruption de la base de données, envisagez d’exécuter DBCC CHECKDB. Si vous avez accepté d’envoyer des vidages à Microsoft lors de l’installation, un mini-vidage sera envoyé à Microsoft. Il est possible qu’une mise à jour soit disponible à partir de Microsoft dans le dernier Service Pack ou dans un QFE du support technique. MSG 0, niveau 20, état 0, ligne 0A erreur sérieuse s’est produite sur la commande actuelle. Les résultats éventuels doivent être supprimés.

Résolution

Pour résoudre ce problème, installez la mise à jour cumulative 7 pour SQL Server 2012 SP1. Ce problème a été résolu pour la première fois dans cette mise à jour cumulative.

Chaque nouvelle mise à jour cumulative pour SQL Server contient tous les correctifs et les correctifs de sécurité inclus dans la mise à jour cumulative précédente. Pour plus d’informations, consultez la dernière mise à jour cumulative pour SQL Server 2012 SP1.

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

Consultez 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 ?

Nous vous remercions pour vos commentaires.

Merci pour vos commentaires. Il serait vraisemblablement utile pour vous de contacter l’un de nos agents du support Office.

×