FIX: Foutbericht tijdens het uitvoeren van SQL Server 2008 Reporting Services of de database-engine van SQL Server 2008: "Fatale Engine-fout bij uitvoering (000006427F44AE16)" of "een fatale fout opgetreden in de common language runtime voor .NET Framework"

Van toepassing: SQL Server 2008 StandardSQL Server 2008 EnterpriseSQL Server 2008 Developer

Microsoft distribueert oplossingen voor Microsoft SQL Server 2008 als één downloadbaar bestand. Aangezien de oplossingen cumulatief zijn, bevat elke nieuwe release alle hotfixes en alle beveiligingscorrecties die waren opgenomen in de voorgaande SQL Server 2008 releases.

Symptomen


Terwijl Microsoft SQL Server 2008 Reporting Services (SSRS 2008) het grote rapporten of grote modellen weergeven is, wordt het volgende runtimefoutbericht weergegeven:
Bron: .NET Runtime

Datum:
Gebeurtenis-ID: 1023
Taak categorie: geen
Niveau: fout
Trefwoorden: klassiek
Gebruiker: N.V.T.
Computer:
Beschrijving:
.NET Runtime versie 2.0.50727.3603 - fatale Engine-fout bij uitvoering (000006427F44AE16) (80131506)

Het volgende foutbericht kan ook worden vastgelegd in het logbestand van SQL Server Reporting Services 2008:
rshost! rshost! 18f0! < datum tijd >:: e fout: een dump wordt gegenereerd en het afsluiten van het proces als gevolg van fatale runtime-fout.

Dit probleem kan ook optreden in de database-engine van SQL Server 2008 wanneer SQL Server 2008 wordt uitgevoerd een common language runtime (CLR)-object. In dit geval verschijnt het volgende foutbericht weergegeven:
< Tijd > Server-fout: 6536, ernst: 16 staat: 1.
< Tijd > Server een onherstelbare fout opgetreden in de common language runtime van .NET Framework. SQL Server wordt afgesloten. Als de fout zich opnieuw voordoet nadat de server opnieuw is gestart, moet u contact opnemen met Customer Support Services.

Het foutenlogboek van SQL kan de dump weergeven als een Stackdump met de volgende tekst:

<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.

Oorzaak


Dit probleem treedt op wanneer een gemengde assembly de Win32 CreateThread API of de BeginThread Win32 API gebruikt voor het maken van een thread. De thread probeert later overgang naar beheerde code. Deze overgang veroorzaakt CLR voor het aanvragen van de context van een taak van de runtime-host. Als deze overgang is expliciet niet toegestaan, treedt er een runtime-fout op.



Opmerking De overgang is expliciet niet toegestaan omdat elke cache scheduler threads zijn in de modus niet voorrang moet voordat ze proberen toegang te krijgen tot de cache.

Oplossing



De correctie voor dit probleem werd voor het eerst uitgebracht in de cumulatieve Update 7 voor SQL Server 2008 Service Pack 1. Voor meer informatie over dit cumulatieve updatepakket klikt u op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base:
979065 cumulatieve updatepakket 7 voor SQL Server 2008 Service Pack 1
Opmerking Omdat de opbouw cumulatief van opzet zijn, elke nieuwe versie van de correctie bevat alle hotfixes en de beveiligingscorrecties die opgenomen in de vorige versie van SQL Server 2008 zijn release opgelost. We raden het toepassen van de meest recente hotfix-versie waarin deze hotfix is opgenomen. Voor meer informatie klikt u op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base weer te geven:
970365 met de SQL Server 2008 bouwt die zijn uitgebracht na Service Pack 1 voor SQL Server 2008 is uitgebracht
Hotfixes voor Microsoft SQL Server 2008 worden voor een specifieke servicepacks voor SQL Server gemaakt. U moet een hotfix voor SQL Server 2008 Service Pack 1 toepassen op een installatie van SQL Server 2008 Service Pack 1. Voor elke hotfix die wordt geleverd in een servicepack van SQL Server is standaard opgenomen in het volgende servicepack voor SQL Server.

Tijdelijke oplossing


U kunt dit probleem voor de database-engine van SQL Server 2008, probeert u te bepalen of onveilige SQL CLR.NET assembly's in de database-engine laden en mogelijk maken dat dit probleem zich voordoet. Vermijd het gebruik van dergelijke verzamelingen of verwijderen uit het systeem een voor een totdat het symptoom geïsoleerd is en subsidies van het probleem.

Bijvoorbeeld, ziet u mogelijk berichten die lijken op de volgende in het SQL Foutenlogboek weergeven welke SQL CLR assembly's worden gebruikt en het symptoom kunnen worden geactiveerd:
2011-03-29 12:01:01.00 spid51 onveilige assembly ' < naam van assembly > versie 0.0.0.0, culture = neutral, publickeytoken = = null, processorarchitecture = msil' geladen in de appdomain 1 (< naam appdomain >)

Status


Microsoft heeft bevestigd dat dit probleem kan optreden in de Microsoft-producten die worden vermeld in de sectie 'Van toepassing op'.

Referenties


Informatie over de incrementele Servicing-Model voor SQL Server, klikt u op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base:

935897 een incrementele Servicing-Model is beschikbaar in de SQL Server-team voor het leveren van hotfixes voor gemelde problemen



Voor meer informatie over het naamgevingsschema voor SQL Server-updates klikt u op het volgende artikel in de Microsoft Knowledge Base:

822499 Nieuw naamgevingsschema voor software-updatepakketten voor Microsoft SQL Server


Voor meer informatie over terminologie voor software-updates klikt u op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base weer te geven:
824684 beschrijving van de standaardterminologie die wordt gebruikt om software-updates voor Microsoft te beschrijven