Microsoft distribuie remedieri 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 cu SQL Server 2008 fix release.
Simptome
Simptom 1Atunci când efectuați o populație pentru un index mare de text complet în Microsoft SQL Server 2008 sau în Microsoft SQL Server 2008 R2, este posibil să primiți un mesaj de eroare în fișierul jurnal text complet. De câte ori se înregistrează acest mesaj de eroare, depinde de dimensiunea lotului minus unu. De exemplu, pe un computer pe 32 de biți, dimensiunea lotului este 1.000, astfel că eroarea este înregistrată de 999 de ori. Mesajul de eroare seamănă cu următorul:
Eroarea ' 0x8004cb04: wordlist în memorie este deteriorat. Acest lucru se datorează unui filtru defect, wordbreaker sau altei componente de indexare. ' apărut în timpul populației index text complet pentru tabel sau vizualizarea indexată ' [smarsh]. [DBO]. [ArchiveMsgs] ' (tabel sau vizualizare indexată ID-ul ' 160719625 ', ID bază de date ' 7 '), valoare cheie text complet ' 291484087 '. Se va face încercarea de a o reindexa.
După ce primiți acest mesaj de eroare, este posibil să primiți, de asemenea, următorul mesaj de eroare pentru dimensiunea lotului minus unu:
<dată> <dată> spid28s eroare "0x80040e28" a apărut în timpul populației index text complet pentru tabel sau vizualizarea indexată "[smarsh]. [DBO]. [ArchiveMsgs] ' (tabel sau vizualizare indexată ID-ul ' 160719625 ', ID bază de date ' 7 '), valoare cheie text complet ' 199598211 '. Se va face încercarea de a o reindexa.
După ce primiți acest mesaj de eroare, este posibil să primiți, de asemenea, următorul mesaj de eroare pentru dimensiunea lotului minus unu:
<dată> <dată> spid26s error ' 0x80043630: procesul daemon de filtrare MSFTEFD expirat pentru un motiv necunoscut. Acest lucru poate indica o eroare dintr-un filtru, un wordbreaker sau un handler de protocol. "s-a produs în timpul populației index text complet pentru tabel sau vizualizarea indexată ' [smarsh]. [DBO]. [ArchiveMsgs] ' (tabel sau vizualizare indexată ID-ul ' 160719625 ', ID bază de date ' 7 '), valoare cheie text complet ' 14304130 '. Se va face încercarea de a o reindexa.
Simptom 2În plus, este posibil să observați că procesul FDHOST. exe funcționează incorect. Atunci când încercați să executați o interogare text complet sau să efectuați o populație cu text complet, primiți următorul mesaj către client.
MSG 30053, nivel 16, stat 102, linie 1Word întreruptă pentru șirul de interogare text complet. Acest lucru se poate întâmpla dacă wordbreaker a durat mult timp pentru a procesa șirul de interogare text complet sau dacă un număr mare de interogări se execută pe server. Încercați să reduceți interogarea sub o încărcare mai ușoară.
Atunci când Examinați jurnalele SQLFT * pentru acest catalog, observați acest mesaj de eroare:
Eroarea ' 0x80004005 ' a avut loc în timpul populației index text complet pentru tabel sau vizualizarea indexată ' [DBNAME]. [DBO]. [TABLENAMe] ' (tabel sau vizualizare indexată ID-ul ' 1204001724 ', ID bază de date ' 5 '), valoare cheie text integral ' 4 '. Se va face încercarea de a o reindexa.
Atunci când examinați SQL eroare, observați acest mesaj de eroare:
Eroare: 30089, severitate: 17, stare: 1. procesul de filtrare fulltext daemon Host (FDHost) s-a oprit anormal. Acest lucru se poate întâmpla dacă o componentă lingvistică configurată incorect sau nefuncțională, cum ar fi un wordbreaker, un rezultat sau un filtru, a provocat o eroare recuperate în timpul indexării integrale a textului sau în procesarea interogărilor. Procesul va fi repornit automat.
Cauză
Această problemă se produce din cauza unei erori în comunicarea dintre procesul sqlservr. exe și procesul Fdhost. exe. Atunci când sunt trimise loturi din procesul sqlservr. exe în procesul Fdhost. exe, uneori, memoria partajată de ieșire (OSM), care este memoria partajată din sqlservr. exe în Fdhost. exe, are suficient spațiu pentru a se potrivi cu următoarea coloană a unui document. Atunci când se întâmplă acest lucru, procesul sqlservr. exe trimite un mesaj pentru a notifica procesul Fdhost. exe pentru a procesa toate datele existente în OSM. În timp ce procesul Fdhost. exe procesează date, memoria partajată de intrare (ISM), care este memoria partajată din Fdhost. exe la sqlservr. exe, poate deveni completă. În această situație, procesul Fdhost. exe trimite un mesaj "înapoi" la procesul sqlservr. exe. Acest mesaj solicită ca procesul sqlservr. exe să retrimită ultimul document din prima coloană. Cu toate acestea, când procesul sqlservr. exe începe să trimită documentul din nou, pornește din coloana 2 în locul coloanei 1. Acest lucru determină mesajele de eroare care sunt menționate în secțiunea "simptome".
Rezolvare
Informații despre actualizarea cumulativă
SQL Server 2008 R2 Service Pack 2
Remedierea pentru această problemă a fost lansată pentru prima dată în actualizarea cumulativă 3. Pentru mai multe informații despre cum se obține acest pachet de actualizare cumulativă pentru SQL Server 2008 R2 Service Pack 2, faceți clic pe următorul număr de articol pentru a vedea articolul în baza de cunoștințe Microsoft:
2754552 Pachetul de actualizare cumulativă 3 pentru SQL Server 2008 R2 Service Pack 2 Notă Deoarece compilările sunt cumulative, fiecare nouă versiune de remediere conține toate remedierile rapide și toate remedierile de securitate care au fost incluse în versiunea anterioară SQL Server 2008 R2 Service Pack 2 remediată. Vă recomandăm să luați în considerare aplicarea celei mai recente versiuni 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-l vedea în Baza de cunoștințe Microsoft:
2730301 SQL Server 2008 R2 construiește care au fost lansate după ce s-a lansat SQL Server 2008 R2 Service Pack 2
SQL Server 2008
Remedierea pentru această problemă a fost lansată pentru prima dată în actualizarea cumulativă 4 pentru versiunea lansată de SQL Server 2008. Pentru mai multe informații despre cum se obține acest pachet de actualizare cumulativă pentru SQL Server 2008, faceți clic pe următorul număr de articol pentru a vedea articolul în baza de cunoștințe Microsoft:
963036 Pachetul de actualizare cumulativă 4 pentru SQL Server 2008Notă Deoarece compilările sunt cumulative, fiecare nouă versiune de remediere conține toate remedierile rapide și toate remedierile de securitate care au fost incluse cu versiunea anterioară SQL Server 2008 fix release. Vă recomandăm să luați în considerare aplicarea celei mai recente versiuni 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-l vedea în Baza de cunoștințe Microsoft:
956909 SQL Server 2008 construiește care au fost lansate după ce s-a lansat SQL Server 2008
SQL Server 2008 Service Pack 1
Remedierea pentru această problemă a fost lansată pentru prima dată în actualizarea cumulativă 1 pentru SQL Server 2008 Service Pack 1. Pentru mai multe informații despre cum se obține acest pachet de actualizare cumulativă pentru SQL Server 2008, faceți clic pe următorul număr de articol pentru a vedea articolul în baza de cunoștințe Microsoft:
969099 Pachetul de actualizare cumulativă 1 pentru SQL Server 2008 Service Pack 1Notă Deoarece compilările sunt cumulative, fiecare nouă versiune de remediere conține toate remedierile rapide și toate remedierile de securitate care au fost incluse cu versiunea anterioară SQL Server 2008 fix release. Vă recomandăm să luați în considerare aplicarea celei mai recente versiuni 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-l vedea în Baza de cunoștințe Microsoft:
970365 SQL Server 2008 construiește care au fost lansate după ce s-a lansat SQL Server 2008 Service Pack 1
Soluție de evitare
Pentru a evita această problemă, măriți dimensiunea ISM. Pentru a face acest lucru, configurați variabila ISM_Size utilizând procedura sp_fulltext_service stocată. Pentru a afișa valoarea curentă:sp_fulltext_service ' ism_size ' pentru a modifica valoarea la 16:sp_fulltext_service ' ism_size ', @value = 16Notă: va trebui să reporniți serviciul SQL Server pentru ca această modificare să aibă efect.
Stare
Microsoft a confirmat că aceasta este o problemă în produsele Microsoft enumerate în secțiunea „Se aplică la”.
Mai multe informații
Această problemă nu împiedică completarea populației. Indexul text complet are o logică de Reîncercare încorporată, care va continua să reîncercați intrarea nereușită până când reușește. Prin urmare, puteți ignora în siguranță mesajele de eroare. Singurele efecte secundare negative potențiale cunoscute sunt că poate dura mai mult decât de obicei pentru ca populația să se finalizeze și creșterea în jurnal a întregului text crește semnificativ pentru Raportarea erorii. Logica Reîncercare din codul sursă determină o eventuală populație reușită fără corupție la index, în ciuda mesajului de eroare care indică posibila deteriorare. Dacă întâmpinați simptome #2 descrise mai sus, atunci interogările de căutare text complet sau populație nu vor funcționa, deoarece componenta FDHOST nu se află într-o stare corectă pentru a funcționa și va trebui să aplicați această actualizare cumulativă.
Mai multe informații despre pachetul de actualizare cumulativă 4 pentru SQL Server 2008
Pentru mai multe informații despre ce fișiere sunt modificate și pentru informații despre orice cerințe preliminare pentru a aplica pachetul de actualizare cumulativă care conține remedierea rapidă descrisă în acest articol din baza de cunoștințe Microsoft, faceți clic pe următorul număr de articol pentru a vedea articolul în baza de cunoștințe Microsoft:
963036 Pachetul de actualizare cumulativă 4 pentru SQL Server 2008
Mai multe informații despre pachetul de actualizare cumulativă 1 pentru SQL Server 2008 Service Pack 1
Pentru mai multe informații despre ce fișiere sunt modificate și pentru informații despre orice cerințe preliminare pentru a aplica pachetul de actualizare cumulativă care conține remedierea rapidă descrisă în acest articol din baza de cunoștințe Microsoft, faceți clic pe următorul număr de articol pentru a vedea articolul în baza de cunoștințe Microsoft:
969099 Pachetul de actualizare cumulativă 1 pentru SQL Server 2008 Service Pack 1
Referințe
Pentru mai multe informații despre lista de compilări care sunt disponibile după lansarea SQL Server 2008, faceți clic pe următorul număr de articol pentru a vedea articolul în baza de cunoștințe Microsoft:
956909 SQL Server 2008 construiește care au fost lansate după ce s-a lansat SQL Server 2008Pentru mai multe informații despre modelul de întreținere incrementală 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 de întreținere incrementală este disponibil de la echipa SQL Server pentru a livra remedieri rapide pentru problemele raportatePentru 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 Schemă nouă de denumire pentru pachetele de actualizare software Microsoft SQL ServerPentru mai multe informații despre terminologia actualizării 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