CORRECTIF : Les messages d'erreur sont enregistrés lorsque vous exécutez une requête autoparamétrée non mise en cache dans SQL Server 2012 ou 2014

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: 3068703
Symptômes
Lorsque SQL Server exécute une requête autoparamétrée non mise en cache, la requête peut provoquer une violation d'accès dans de rares conditions. La violation d'accès est enregistrée dans le journal des erreurs de SQL Server avec une pile des appels qui contient le fragment d'exemple suivant :

***Stack Dump being sent to C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\LOG\SQLDump0010.txtSqlDumpExceptionHandler: Process #### generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this process.* ********************************************************************************* BEGIN STACK DUMP:*  date time spid #*** Exception Address = 000007FA0B512E2F Module(sqllang+0000000000E72E2F)* Exception Code = c0000005 EXCEPTION_ACCESS_VIOLATION* Access Violation occurred reading address 0000000000000018** Input Buffer ### bytes -* select identifier, registration_date, model, digit, place, failure, address,  * remote_control, phone_number, state, location, updated, mta, * home_id, vod_address, observations  * from equipment with(nolock) * where branch_group = 1 and equipment_type = 2 * and series = 'SERIES_AAA'*  * ******************************************************************************** -------------------------------------------------------------------------------* Short Stack Dump000007FA0B512E2F Module(sqllang+0000000000E72E2F)000007FA0B57D7D2 Module(sqllang+0000000000EDD7D2)000007FA0A74788B Module(sqllang+00000000000A788B)000007FA0A746B5C Module(sqllang+00000000000A6B5C)000007FA0A747034 Module(sqllang+00000000000A7034)000007FA0A746F8C Module(sqllang+00000000000A6F8C)000007FA0A6C9851 Module(sqllang+0000000000029851)000007FA0AB5CF5C Module(sqllang+00000000004BCF5C)000007FA0AB54397 Module(sqllang+00000000004B4397)000007FA09990430 Module(sqldk+0000000000010430)000007FA09990214 Module(sqldk+0000000000010214)000007FA0998FEF7 Module(sqldk+000000000000FEF7)000007FA099AF15F Module(sqldk+000000000002F15F)000007FA099AF1E0 Module(sqldk+000000000002F1E0)000007FA099AE70E Module(sqldk+000000000002E70E)000007FA099AEFB9 Module(sqldk+000000000002EFB9)000007FA17411832 Module(KERNEL32+0000000000001832)000007FA19B1D609 Module(ntdll+000000000005D609)

Dans cet exemple, le symptomsare comme suit :
  • Une requête simple qui a une ou plusieurs constantes dans sa clause WHERE. SQL Server peut automatiquement-paramétrer ces constantes.
  • Le « Violation d'accès s'est produite lors de la lecture de chaîne de l'adresse 0000000000000018 ». (Cette chaîne se termine par « 18 » sur les systèmes 64 bits, « 0C » sur les systèmes 32 bits.)
  • Le contenu du vidage de pile aura la profondeur identiques ou similaire et les positions relatives des frames de pile (pas nécessairement une correspondance exacte).

    RemarqueCet exemple est tiré d'une instance 64 bits de SQL Server. Il sera différent mais encore reconnaissables dans un exemple d'instance a32 bits.

Informations de mise à jour cumulatives

Ce problème a été tout d'abord été résolu dans la mise à jour cumulative suivante de SQL Server.
Recommandation : Installez la mise à jour cumulative la plus récente 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é l'existence de ce problème dans les produits Microsoft répertoriés dans la section « S'applique à ».
Références
En savoir plus sur la terminologie que Microsoft utilise pour décrire les mises à jour logicielles.

Avertissement : Cet article a été traduit automatiquement.

Propriétés

ID d'article : 3068703 - Dernière mise à jour : 09/02/2015 19:19:00 - Révision : 2.0

Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2014 Service Pack 1, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2014 Web

  • kbqfe kbsurveynew kbfix kbexpertiseinter kbmt KB3068703 KbMtfr
Commentaires