Remediere: Mesaj de eroare când se execută SQL Server 2008 Reporting Services sau motorul de baze de date SQL Server 2008: "Fatal motor de eroare de executare (000006427F44AE16)" sau "eroare fatală în .NET Framework common language runtime"

Se aplică la: SQL Server 2008 StandardSQL Server 2008 EnterpriseSQL Server 2008 Developer

Microsoft distribuie remedierile Microsoft SQL Server 2008 ca un fișier descărcabil. Deoarece remedierile sunt cumulative, fiecare lansare nouă conține toate remedierile rapide și toate remedierile de securitate care au fost incluse în anterioare SQL Server 2008 lansată.

Simptome


În timp ce Microsoft SQL Server 2008 Reporting Services (SSRS 2008) este de redare mare rapoarte sau modele mari, primiţi următorul mesaj de eroare runtime:
Sursă: .NET Runtime

Data:
ID eveniment: 1023
Categorie activitate: None
Nivel: eroare
Cuvinte cheie: clasic
Utilizator: N/A
Computer:
Descriere:
.NET Runtime versiunea 2.0.50727.3603 - Fatal Error motorul de executare (000006427F44AE16) (80131506)

Următorul mesaj de eroare, de asemenea, pot fi înregistrate în fișierul jurnal SSRS 2008:
rshost! rshost! 18f0! < data ora >:: e eroare: generează o imagine și închiderea procesului din cauza fatal runtime error.

Această problemă poate apărea, de asemenea, în motorul de baze de date SQL Server 2008, când SQL Server 2008 se execută un common language runtime (CLR) obiect. În acest caz, este posibil să primiți următorul mesaj de eroare:
< Timp > Server Error: 6536, severitate: 16, State: 1.
< Timp > serverul A eroare fatală în .NET Framework common language runtime. SQL Server se închide. Dacă eroarea apare din nou după repornirea serverului, contactați serviciile de asistență pentru clienți.

Jurnalul de erori SQL poate afișa dump ca o imagine de stivă cu următorul text:

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

Cauza


Această problemă apare atunci când o asamblare mixt utilizează CreateThread Win32 API sau BeginThread Win32 API pentru a crea o conversație. Firul mai târziu încearcă să facă tranziția la cod gestionat. Această tranziție duce CLR pentru a solicita o activitate context la gazda runtime. Ca această tranziție explicit nu este permisă, apare o eroare de execuție.



Notă Tranziția nu este în mod explicit permisă, deoarece fiecare programator cache necesită ca fire sunt în modul non-preemptive înainte de a încerca pentru a accesa memoria cache.

Rezolvare



Remedierea pentru această problemă a fost lansată prima dată în 7 de actualizare cumulativă pentru SQL Server 2008 Service Pack 1. Pentru mai multe informații despre acest pachet de actualizare cumulativă, faceți clic pe următorul număr de articol pentru a vedea articolul în baza de cunoștințe Microsoft:
979065 Cumulative pachetul 7 de actualizare pentru SQL Server 2008 Service Pack 1
Notă Deoarece compilările sunt cumulative, fiecare nouă lansare de remediere conține toate remedierile rapide și toate remedierile de securitate care au fost incluse în anterioare SQL Server 2008 lansată. Vă recomandăm să luaţi în considerare aplicarea celei mai recente lansări de remediere care conține această remediere rapidă. Pentru mai multe informaţii, faceţi clic pe următorul număr de articol pentru a vedea articolul în baza de cunoştinţe Microsoft:
970365 compilările SQL Server 2008 lansate după lansarea SQL Server 2008 Service Pack 1
Microsoft SQL Server 2008 remedierile rapide sunt create pentru specifice SQL Server service pack. Trebuie să aplicați o remediere rapidă SQL Server 2008 Service Pack 1 pentru o instalare de SQL Server 2008 Service Pack 1. În mod implicit, orice remediere rapidă care este furnizat într-un SQL Server service pack este inclus în următorul pachet service pack SQL Server.

Soluție


Pentru a rezolva această problemă pentru motorul de baze de date SQL Server 2008, încercați să determinați dacă orice asamblare SQL CLR.NET nesigure este de încărcare în motorul de baze de date și crearea potențial fire care întâlniți această problemă. Evitați utilizarea acestor asamblări sau eliminați-le din sistemul unul câte unul, până când simptomul este izolat şi problema dispare.

De exemplu, să vedeți mesajele de informații care se aseamănă cu următorul în Jurnalul de erori SQL pentru a afișa ce SQL CLR asamblări sunt utilizate și ar putea fi declanșa simptomul:
2011-03-29 12:01:01.00 spid51 nesigure assembly ' < nume de asamblare >, versiune = 0.0.0.0, culture neutral, publickeytoken = = null, processorarchitecture = msil' încărcate în appdomain 1 (< nume appdomain >)

Stare


Microsoft a confirmat că aceasta este o problemă cu produsele Microsoft enumerate în secţiunea „Se aplică la".

Referințe


Pentru informații despre ISM pentru SQL Server, faceți clic pe următorul număr de articol pentru a vedea articolul în baza de cunoștințe Microsoft:

935897 un Model ISM este disponibilă de la echipa SQL Server pentru livrarea remedierilor rapide pentru problemele raportate



Pentru mai multe informații despre schema de denumire pentru actualizările SQL Server, faceți clic pe următorul număr de articol pentru a vedea articolul în baza de cunoștințe Microsoft:

822499 Noua schemă de denumire pentru pachetele de actualizare software Microsoft SQL Server


Pentru mai multe informaţii despre terminologia privind actualizarea software-ului, faceţi clic pe următorul număr de articol pentru a vedea articolul în Baza de cunoştinţe Microsoft:
824684 Descrierea terminologiei standard care este utilizat pentru a descrie actualizările de software Microsoft