Korriger: Feilmelding når du kjører SQL Server 2008 Reporting Services eller SQL Server 2008-databasemotoren: "Fatal Execution Engine Error (000006427F44AE16)" eller "oppstått en uopprettelig feil i .NET Framework common language runtime"

Gjelder: SQL Server 2008 StandardSQL Server 2008 EnterpriseSQL Server 2008 Developer

Microsoft distribuerer hurtigreparasjoner for Microsoft SQL Server 2008 som én nedlastbar fil. Fordi reparasjonene er kumulative, inneholder hver nye utgivelse alle hurtigreparasjonene og sikkerhetsreparasjonene som var inkludert i den forrige SQL Server 2008 Løs utgivelsen.

Symptomer


Selv om Microsoft SQL Server 2008 Reporting Services (SSRS 2008) tilbyr store rapporter eller store modeller, får du følgende melding om kjøretidsfeil:
Kilde: .NET Runtime

Dato:
Hendelses-ID: 1023
Aktivitet kategori: Ingen
Nivå: feil
Nøkkelord: klassisk
Bruker: i/t
Datamaskin:
Beskrivelse:
.NET Runtime versjon 2.0.50727.3603 - Fatal Execution Engine Error (000006427F44AE16) (80131506)

Følgende feilmelding logges også i loggfilen SSRS 2008:
rshost! rshost! 18f0! < dato klokkeslett >:: e feil: generering av en dump og avslutter prosessen på grunn av kritisk kjøretidsfeil.

Dette problemet kan også oppstå i SQL Server 2008-databasemotoren når SQL Server 2008, kjører et common language runtime (CLR)-objekt. I dette tilfellet kan du få følgende feilmelding:
< Tidspunkt > Server-feil: 6536, alvorlighetsgrad: 16 tilstand: 1.
Det oppstod en uopprettelig feil for < tidspunkt > Server A i .NET Framework common language runtime. SQL Server avsluttes. Kontakt kundestøtte hvis problemet vedvarer etter at serveren er startet på nytt.

Feilloggen for SQL kan vise dump som en stakk dumpet med følgende 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.

Årsak


Dette problemet oppstår når en blandet samling bruker CreateThread Win32 API eller BeginThread Win32 API til å opprette en tråd. Tråden prøver senere å overgang til forvaltet kode. Denne overgangen fører til CLR til å be om en aktivitet kontekst fra verten runtime. Etter denne overgangen ikke er uttrykkelig tillatt, oppstår en kjøretidsfeil.



Obs! Overgangen er eksplisitt ikke tillatt fordi alle hurtigbuffer for Oppgaveplanlegging krever at tråder er i modus for ikke-preemptive før de prøver å få tilgang til hurtigbufferen.

Oppløsning



Hurtigreparasjonen for dette problemet ble først utgitt i Kumulativ oppdatering-7 for SQL Server 2008 Service Pack 1. Hvis du vil ha mer informasjon om denne kumulative oppdateringen, kan du klikke følgende artikkelnummer for å vise artikkelen i Microsoft Knowledge Base:
979065 kumulativ oppdateringspakke 7 for SQL Server 2008 Service Pack 1
Obs! Fordi versjoner er kumulative, inneholder hver nye fix-utgivelse alle hurtigreparasjonene og sikkerhetsreparasjonene som var inkludert i den forrige SQL Server 2008 Løs utgivelsen. Vi anbefaler at du vurderer å bruke den nyeste versjonen av hurtigreparasjonen som inneholder denne hurtigreparasjonen. Hvis du vil ha mer informasjon, kan du klikke følgende artikkelnummer for å vise artikkelen i Microsoft Knowledge Base:
970365 for SQL Server 2008 bygger som ble gitt ut etter at SQL Server 2008 Service Pack 1 ble utgitt
Hurtigreparasjoner for Microsoft SQL Server 2008 opprettes for bestemte oppdateringspakker for SQL Server. Du må bruke en hurtigreparasjon for SQL Server 2008 Service Pack 1 til en installasjon av SQL Server 2008 Service Pack 1. En hurtigreparasjon som finnes i en SQL Server service pack er som standard inkludert i neste oppdateringspakke for SQL Server.

Løsningen


Hvis du vil omgå dette problemet for databasemotoren SQL Server 2008, kan du prøve å finne ut om usikre SQL CLR.NET samlinger lastes inn i databasemotoren og potensielt å lage tråder som dette problemet oppstår. Unngå å bruke slike samlinger, eller fjerne dem fra systemet én etter én til symptomet er isolert og problemet subsides.

Du kan for eksempel se informasjon om meldinger som ligner på følgende i feilloggen for SQL for å vise hvilken SQL CLR samlinger som brukes og kan være utløser symptomet:
2011-03-29 12:01:01.00 spid51 usikre samlingen ' < navn > samling, versjon = 0.0.0.0, culture = nøytral, publickeytoken = null, processorarchitecture = msil' lastet inn i programdomenet 1 (< appdomain navn >)

Status


Microsoft har bekreftet at dette er et problem i Microsoft-produktene som er oppført i delen "Gjelder for".

Referanser


Informasjon om trinnvis Vedlikehold modellen for SQL Server, kan du klikke følgende artikkelnummer for å vise artikkelen i Microsoft Knowledge Base:

935897 en trinnvis Vedlikehold modell er tilgjengelig fra SQL Server-teamet å levere hurtigreparasjoner for rapporterte problemer



Hvis du vil ha mer informasjon om navngivingspraksis for SQL Server-oppdateringer, kan du klikke følgende artikkelnummer for å vise artikkelen i Microsoft Knowledge Base:

822499 Ny navngivingspraksis for oppdateringspakker for Microsoft SQL Server-programvare


Hvis du vil ha mer informasjon om terminologi for programvareoppdatering, kan du klikke følgende artikkelnummer for å vise artikkelen i Microsoft Knowledge Base:
824684 beskrivelse av standardterminologien som brukes til å beskrive oppdateringer av Microsoft-programvare