Symptômes
Lorsque SQL Server exécute une requête qui ne peut pas être mise en cache automatique, la requête peut générer une violation d’accès dans de rares conditions. La violation d’accès est enregistrée dans le journal des erreurs SQL Server conjointement avec une pile d’appels contenant 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, les symptômes sont les suivants :
-
Requête simple ayant une ou plusieurs constantes dans sa clause WHERE. SQL Server est susceptible de paramétrer automatiquement ces constantes.
-
La chaîne « violation d’accès s’est produite lors de la lecture 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 petit vidage de pile aura la même profondeur, la même profondeur et la même position relative de trames de pile (pas nécessairement une correspondance exacte). Remarque Cet exemple provient d’une instance 64 bits de SQL Server. Il sera bien différent mais toujours identifiable dans un exemple d’une instance de 32 bits.
Informations de mise à jour cumulative
Ce problème a été résolu dans la mise à jour cumulative suivante de SQL Server.
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. Consultez les dernières mises à jour cumulatives pour SQL Server :
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.