CORRECTIF : Message d’erreur lorsque le moteur de base de données SQL Server 2008 ou de SQL Server 2008 Reporting Services est en cours d’exécution : « Moteur erreur d’exécution irrécupérable (000006427F44AE16) » ou « une erreur irrécupérable s’est produite dans le common language runtime du.NET Framework. »

N° de bogue : 129464 (Maintenance du contenu)
Numéro de bogue VSTS : 410840

Microsoft distribue les correctifs de Microsoft SQL Server 2008 en tant que fichier téléchargeable. Les correctifs étant cumulatifs, chaque nouvelle version contient tous les correctifs et correctifs de sécurité inclus dans la précédente 2008 de SQL Server version du correctif.

Symptômes

Alors que Microsoft SQL Server 2008 Reporting Services (SSRS 2008) est rendu des rapports volumineux ou modèles de grande taille, le message d’erreur runtime suivant s’affiche :

Source : .NET Runtime

Date :
L’ID d’événement : 1023
Catégorie de la tâche : aucun
Niveau : erreur
Mots clés : classique
Utilisateur : n/a
Ordinateur :
Description :
.NET Runtime version 2.0.50727.3603 - erreur irrécupérable du moteur d’exécution (000006427F44AE16) (80131506)


Le message d’erreur suivant peut également être enregistré dans le fichier journal de SSRS 2008 :

rshost ! rshost ! 18f0 ! < heure > :: e erreur : génération d’une image et de quitter le processus en raison d’une erreur d’exécution irrécupérable.


Ce problème peut également se produire dans le moteur de base de données SQL Server 2008 lorsque SQL Server 2008 s’exécute à un objet du common language runtime (CLR). Dans ce cas, vous pouvez recevoir le message d’erreur suivant :

< Heure > erreur de serveur : 6536, gravité : 16, état : 1.
Erreur irrécupérable du serveur A < heure > s’est produite dans le common language runtime du.NET Framework. SQL Server est en cours d’arrêt. Si l’erreur persiste après le redémarrage du serveur, contactez les Services de Support technique.

Le journal des erreurs SQL peut afficher l’image sous la forme d’un vidage de pile avec le texte suivant :

<time> Server * *******************************************************************************<time> Server *
<time> Server * BEGIN STACK DUMP:
<time> Server * 03/24/11 19:05:12 spid 0
<time> Server *
<time> Server * A fatal error occurred in .NET Framework runtime.

<time> Server * *******************************************************************************
<time> Server *
<time> Server * BEGIN STACK DUMP:
<time> Server * 03/24/11 19:05:23 spid 0
<time> Server *
<time> Server * Full CLR state dump: A fatal error occurred in .NET Framework runtime.

Cause

Ce problème se produit lorsqu’un assembly mixte utilise l’API Win32 de CreateThread ou l’API Win32 de BeginThread pour créer un thread. Le thread essaie ultérieurement de la transition vers le code managé. Cette transition provoque un contexte de tâche de la demande à partir de l’hôte de runtime du CLR. Comme cette transition n’est explicitement interdit, une erreur d’exécution se produit.



Remarque : La transition est explicitement interdite car chaque cache planificateur nécessite que les threads sont en mode non préemptif avant d’essayer d’accéder au cache.

Résolution


Le correctif de ce problème a été publié dans à jour Cumulative 7 pour SQL Server 2008 Service Pack 1. Pour plus d’informations sur ce package de mise à jour cumulative, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :

979065 Cumulative update package 7 pour SQL Server 2008 Service Pack 1Remarque Les versions étant cumulatives, chaque nouvelle version du correctif contient tous les correctifs et correctifs de sécurité inclus dans la précédente version du correctif de SQL Server 2008. Nous vous recommandons l’application la plus récente version du correctif qui comprendra ce correctif. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :

970365 the SQL Server versions 2008 publiées après SQL Server 2008 Service Pack 1
Les correctifs Microsoft SQL Server 2008 sont créés pour les packs de service spécifiques de SQL Server. Vous devez appliquer un correctif SQL Server 2008 Service Pack 1 dans une installation de SQL Server 2008 Service Pack 1. Par défaut, tout correctif qui est fourni dans un service pack de SQL Server est inclus dans le prochain service pack de SQL Server.

Solution de contournement

Pour contourner ce problème pour le moteur de base de données SQL Server 2008, essayez de déterminer si n’importe quel assembly SQL CLR.NET non sécurisé est du chargement dans le moteur de base de données et peut créer des threads qui rencontrent ce problème. Évitez d’utiliser de tels assemblys, ou de les supprimer du système un par un jusqu'à ce que le problème est isolé et que le problème disparaisse.

Par exemple, vous pouvez voir les messages d’informations semblables aux suivants dans le journal des erreurs SQL pour afficher les assemblys CLR SQL sont utilisés et qu’il peuvent être le symptôme de déclenchement :

assembly Unsafe de 2011-03-29 12:01:01.00 spid51 ' < nom de l’assemblage >, version = 0.0.0.0, culture = neutral, publickeytoken = null, processorarchitecture = msil' chargé dans l’appdomain 1 (< nom de l’appdomain >)

État

Microsoft a confirmé l'existence de ce problème dans les produits Microsoft répertoriés dans la section « S'applique à ».

Références

Pour plus d’informations sur le modèle de service incrémentiel pour SQL Server, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :

935897 un modèle de service incrémentiel est disponible auprès de l’équipe SQL Server pour proposer des correctifs pour les problèmes signalés



Pour plus d’informations sur le schéma d’appellation des mises à jour de SQL Server, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :

822499 Nouveau schéma d’affectation de noms pour les packages de mise à jour logicielle de Microsoft SQL Server

Pour plus d'informations sur la terminologie de mise à jour logicielle, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :

Description 824684 terminologie standard utilisée pour décrire les mises à jour logicielles de Microsoft

Plus d'informations

Vidage de la pile


Le frame de pile des appels appropriée est

"mscorwks!CreateThreadBlockThrow"

Symboles : 00000000 public'2b46aec0 00000642' 7fa3fd19 kernel32 ! RaiseException + 0x5c
00000000`2b46af90 00000000`781cbf40 mscorwks!`CreateThreadBlockThrow'::`1'::catch$1+0xf9
00000000`2b46afe0 00000000`7816964e msvcr80!_CallSettingFrame+0x20
00000000`2b46b000 00000000`77ef3722 msvcr80!__CxxCallCatchBlock+0xfe
00000000`2b46b0b0 00000642`7fa3fb4b ntdll!RcFrameConsolidation+0x3
00000000`2b46fd50 00000642`7f5ffbd8 mscorwks!CreateThreadBlockThrow+0x8b
00000000`2b46fe10 00000000`77de09c5 mscorwks!UMThunkStubAMD64+0xc8
00000000`2b46fea0 00000000`77d6b71a kernel32!CtrlRoutine+0x1a3
00000000`2b46ff80 00000000`00000000 kernel32!BaseThreadStart+0x3a
Symboles MSONLY :

0:287 > kL
Site d’appel de RetAddr enfant-SP
00000000`34816af8 00000000`77d704bf ntdll!NtWaitForSingleObject+0xa
Impossible de charger l’image C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn\sqlservr.exe, 0n2 d’erreur Win32
00000000`34816b00 00000000`018c2b53 kernel32!WaitForSingleObjectEx+0x130
00000000`34816ba0 00000000`018c268c sqlservr!CDmpDump::DumpInternal+0x4a3
00000000`34816c90 00000000`018c25c1 sqlservr!CDmpDump::DumpFilter+0xbc
00000000`34816e10 00000000`7813b5c6 sqlservr!CDmpDump::Dump+0xb1
00000000`34816e40 00000000`77ee455d msvcr80!_C_specific_handler+0x96
00000000`34816eb0 00000000`77ee6097 ntdll!RtlpExecuteHandlerForException+0xd
00000000`34816ee0 00000000`77ee6812 ntdll!RtlDispatchException+0x1b4
00000000`34817590 00000000`77d67d8d ntdll!RtlRaiseException+0xae
00000000`34817ad0 00000000`018c258c kernel32!RaiseException+0x73
00000000`34817ba0 00000000`01f66ac3 sqlservr!CDmpDump::Dump+0x7c
00000000`34817bf0 00000000`01f69d77 sqlservr!CImageHelper::DoMiniDump+0x413
00000000`34817d50 00000000`02083ee3 sqlservr!stackTrace+0x6e7
00000000`34819280 00000000`02084031 sqlservr!CHostPolicyManager::OnFailure+0x63
00000000`348192d0 00000642`7f91713d sqlservr!CHostPolicyManagerWrapper::OnFailure+0x31
00000000`34819320 00000642`7fa7c8eb mscorwks!EEPolicy::GetActionOnFailure+0x8d
00000000`34819390 00000642`7f8a5ddb mscorwks!EEPolicy::HandleFatalError+0x2b
00000000`348193e0 00000642`7f59fc54 mscorwks!`string'+0x9299b
00000000`34819430 00000642`7f59f9d5 mscorwks!CLRVectoredExceptionHandlerPhase2+0x30
00000000`348194a0 00000642`7f5ea9b6 mscorwks!CLRVectoredExceptionHandler+0xf1
00000000`34819520 00000000`77f251ec mscorwks!CLRVectoredExceptionHandlerShim+0x46
00000000`34819560 00000000`77ee5f36 ntdll!RtlpCallVectoredHandlers+0x26f
00000000`348195f0 00000000`77ef31dd ntdll!RtlDispatchException+0x46
00000000`34819ca0 00000642`7fa814c4 ntdll!KiUserExceptionDispatcher+0x2d
00000000`3481a240 00000000`77ee455d mscorwks!UMThunkUnwindFrameChainHandler+0x14
00000000`3481a290 00000000`77ee6097 ntdll!RtlpExecuteHandlerForException+0xd
00000000`3481a2c0 00000000`77ee6812 ntdll!RtlDispatchException+0x1b4
00000000`3481a970 00000000`77d4dd10 ntdll!RtlRaiseException+0xae
00000000`3481aeb0 00000642`7faa8699 kernel32!RaiseException+0x5c
00000000`3481af80 00000000`781cbe10 mscorwks!CreateThreadBlockThrow+0x259
00000000`3481afd0 00000000`7816964e msvcr80!CallSettingFrame+0x20
00000000`3481aff0 00000000`77ef3712 msvcr80!_CxxCallCatchBlock+0xfe
00000000`3481b0a0 00000642`7faa84cb ntdll!RcFrameConsolidation+0x3
00000000`3481fd50 00000642`7f67af18 mscorwks!CreateThreadBlockThrow+0x8b
00000000`3481fe10 00000000`77de0785 mscorwks!UMThunkStubAMD64+0xc8
00000000`3481fea0 00000000`77d6b6da kernel32!CtrlRoutine+0x1a3
00000000`3481ff80 00000000`00000000 kernel32!BaseThreadStart+0x3a

Auteur (SME) : bruceye
Writer : v-vincli
Réviseur technique : asaxton ; jhalmans ; jaimeta ; lukaszp
Éditeur : v-sbrenn

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.

×