KB963659-FIX: er wordt een foutbericht weergegeven wanneer u een populatie uitvoert voor een grote index met volledige tekst in SQL Server 2008 of in SQL Server 2008 R2.

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

Microsoft distribueert Microsoft SQL Server 2008-oplossingen als één downloadbaar bestand. Aangezien de fixes cumulatief zijn, bevat elke nieuwe release alle hotfixes en alle beveiligingsoplossingen die zijn opgenomen in de vorige versie van SQL Server 2008 fix.

Symptomen


Symptoom 1Wanneer u een populatie uitvoert voor een grote index met volledige tekst in Microsoft SQL Server 2008 of in Microsoft SQL Server 2008 R2, wordt mogelijk een foutbericht weergegeven in het logboekbestand voor de volledige tekst. Het aantal keren dat dit foutbericht wordt vastgelegd, is afhankelijk van de batchgrootte min één. Op een 32-bits computer is de batchgrootte bijvoorbeeld 1.000, dus wordt de fout 999 keer vastgelegd. Het foutbericht is vergelijkbaar met het volgende:
Fout ' 0x8004cb04: de woordenlijst in het geheugen is beschadigd. Dit wordt veroorzaakt door een filter, een afbreking of een ander indexeringsonderdeel. er is een fout opgetreden tijdens de volledige-tekstindex voor de tabel of de geïndexeerde weergave ' [smarsh]. [dbo]. [ArchiveMsgs] ' (tabel of geïndexeerde weergave-ID ' 160719625 ', database-ID ' 7 '), volledige-tekst sleutelwaarde ' 291484087 '. Er wordt geprobeerd het opnieuw te indexeren.
Wanneer dit foutbericht wordt weergegeven, kunt u ook het volgende foutbericht voor de batchgrootte min een weergegeven:
<datum> <tijd> spid28s fout ' 0x80040e28 ' opgetreden tijdens de gehele populatie van de tekstindex voor de tabel of de geïndexeerde weergave ' [smarsh]. [dbo]. [ArchiveMsgs] ' (tabel of geïndexeerde weergave-ID ' 160719625 ', database-ID ' 7 '), volledige-tekst sleutelwaarde ' 199598211 '. Er wordt geprobeerd het opnieuw te indexeren.
Wanneer dit foutbericht wordt weergegeven, kunt u ook het volgende foutbericht voor de batchgrootte min een weergegeven:
<datum> <tijd> spid26s fout ' 0x80043630: er is een onbekende reden opgetreden tijdens de filterdemon process MSFTEFD. Dit kan duiden op een fout in een filter, woordafbreking of protocolhandler. er is een fout opgetreden tijdens de volledige-tekstindex populatie voor de tabel of de geïndexeerde weergave ' [smarsh]. [dbo]. [ArchiveMsgs] ' (tabel of geïndexeerde weergave-ID ' 160719625 ', database-ID ' 7 '), volledige-tekst sleutelwaarde ' 14304130 '. Er wordt geprobeerd het opnieuw te indexeren.
Symptoom 2Daarnaast kunt u merken dat het proces van FDHOST. exe slecht functioneert. Wanneer u een volledige-tekstquery probeert uit te voeren of een volledige-tekst populatie wilt uitvoeren, wordt het volgende bericht weergegeven op de client.
Msg 30053, niveau 16, State 102, line 1Word-out voor de queryreeks met de volledige tekst. Dit kan gebeuren als de woordafbreking veel tijd in beslag nam voor het uitvoeren van de queryreeks met volledige tekst of als er een groot aantal query's op de server wordt uitgevoerd. Voer de query opnieuw uit onder een lichte belasting.
Wanneer u de SQLFT *-logboeken voor deze catalogus bekijkt, ziet u het volgende foutbericht:
Fout ' 0x80004005 ' opgetreden tijdens de volledige-tekst populatie populatie voor de tabel of de geïndexeerde weergave ' [DBNAME]. [dbo]. [TABLENAME] ' (Table of Table View ID ' 1204001724 ', database ID ' 5 '), sleutelwaarde ' 4 ' voor volledige tekst. Er wordt geprobeerd het opnieuw te indexeren.
Wanneer u het SQL-fout logboek bekijkt, ziet u het volgende foutbericht:
Fout: 30089, Ernst: 17, provincie: 1. het proces van de FDHost-out filterdemon host () is abnormaal gestopt. Dit kan zich voordoen als een onjuist geconfigureerde of niet-werkende taal kundig onderdeel, zoals een woordafbreking, ontleding of filter, een irrecoverable fout veroorzaakt tijdens het indexeren van volledige tekst of de verwerking van query's. Het proces wordt automatisch opnieuw gestart.

Oorzaak


Dit probleem doet zich voor vanwege een bug in de communicatie tussen het SQLSERVR. exe-proces en het proces Fdhost. exe. Wanneer batches vanuit het SQLSERVR. exe-proces worden verzonden naar het proces Fdhost. exe, kan het zijn dat het uitgaande gedeelde geheugen (OSM), wat het gedeelde geheugen is van Sqlservr. exe naar Fdhost. exe, niet voldoende ruimte vrij is voor de volgende kolom van een document. Als dit gebeurt, verzendt het bestand Sqlservr. exe een bericht om het proces Fdhost. exe op de hoogte te stellen voor het verwerken van alle bestaande gegevens in de OSM. Hoewel het proces van Fdhost. exe gegevens verwerkt, wordt de binnenkomende gedeelde hoeveelheid werk (ISM), het gedeelde geheugen van Fdhost. exe, mogelijk vol. In deze situatie verzendt het proces Fdhost. exe een bericht ' teruggespoeld ' naar het SQLSERVR. exe proces. Dit bericht vraagt het SQLSERVR. exe-proces het laatste document opnieuw te verzenden uit de eerste kolom. Wanneer het document van Sqlservr. exe het document opnieuw verzendt, begint dit echter met kolom 2 in plaats van kolom 1. Dit veroorzaakt de foutberichten die worden vermeld in de sectie symptomen.

Oplossing


Cumulatieve updategegevens

SQL Server 2008 R2 Service Pack 2

De oplossing voor dit probleem werd voor het eerst uitgebracht in de cumulatieve update 3. Als u meer informatie wilt over het verkrijgen van dit cumulatieve updatepakket voor SQL Server 2008 R2 Service Pack 2, klikt u op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base weer te geven:
2754552 Cumulatief updatepakket 3 voor SQL Server 2008 R2 Service Pack 2
Opmerking Aangezien de builds cumulatief zijn, bevat elke nieuwe correctie release alle hotfixes en alle beveiligingsoplossingen die zijn opgenomen in de vorige SQL Server 2008 R2 Service Pack 2 fix release. U wordt aangeraden om de meest recente correctie voor deze hotfix toe te passen. Klik op het volgende artikelnummer in de Microsoft Knowledge Base voor meer informatie:
2730301 De SQL Server 2008 R2-builds die zijn uitgebracht na SQL Server 2008 R2 Service Pack 2 is uitgebracht

SQL Server 2008

De oplossing voor dit probleem werd voor het eerst uitgebracht in cumulatieve update 4 voor de releaseversie van SQL Server 2008. Als u meer informatie wilt over het verkrijgen van dit cumulatieve updatepakket voor SQL Server 2008, klikt u op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base weer te geven:
963036 Cumulatief updatepakket 4 voor SQL Server 2008
Opmerking Aangezien de builds cumulatief zijn, bevat elke nieuwe correctie release alle hotfixes en alle beveiligingsoplossingen die zijn opgenomen in de vorige versie van SQL Server 2008 fix. U wordt aangeraden om de meest recente correctie voor deze hotfix toe te passen. Klik op het volgende artikelnummer in de Microsoft Knowledge Base voor meer informatie:
956909 De versies van SQL Server 2008 die zijn uitgebracht na de release van SQL Server 2008

SQL Server 2008 Service Pack 1

De oplossing voor dit probleem werd voor het eerst uitgebracht in de cumulatieve update 1 voor SQL Server 2008 Service Pack 1. Als u meer informatie wilt over het verkrijgen van dit cumulatieve updatepakket voor SQL Server 2008, klikt u op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base weer te geven:
969099 Cumulatief updatepakket 1 voor SQL Server 2008 Service Pack 1
Opmerking Aangezien de builds cumulatief zijn, bevat elke nieuwe correctie release alle hotfixes en alle beveiligingsoplossingen die zijn opgenomen in de vorige versie van SQL Server 2008 fix. U wordt aangeraden om de meest recente correctie voor deze hotfix toe te passen. Klik op het volgende artikelnummer in de Microsoft Knowledge Base voor meer informatie:
970365 De versies van SQL Server 2008 die zijn uitgebracht na SQL Server 2008 Service Pack 1, zijn uitgebracht

Tijdelijke oplossing


Om dit probleem tijdelijk op te lossen, vergroot u de ISM-grootte. Als u dit wilt doen, configureert u de ISM_Size variabele met behulp van de opgeslagen procedure sp_fulltext_service . Ga als volgt te werk om de huidige waarde te tonen:sp_fulltext_service ' ism_size ' om de waarde te wijzigen in 16:sp_fulltext_service ' ism_size ', @value = 16Opmerking: u moet de SQL Server-service opnieuw starten om de wijziging door te voeren.

Status


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

Meer informatie


Dit probleem is niet van invloed op de voltooiing van de bevolking. De index met volledige tekst bevat ingebouwde logica voor hernieuwen waarmee de mislukte invoer opnieuw wordt uitgevoerd. U kunt daarom de foutberichten ook veilig negeren. De enige bekende potentiële gevolgen van negatieve bijwerkingen zijn dat het langer kan duren dan gebruikelijk voor de bevolking, en de groei van het volledige-tekstlogboek neemt aanzienlijk toe voor de rapportage van de fout. De nieuwe logica in de broncode veroorzaakt een succesvolle populatie zonder beschadiging van de index, ondanks het foutbericht dat de mogelijke beschadiging aangeeft. Als u met symptoom #2 beschreven hierboven, werkt de functies voor zoekopdrachten voor volledige tekst of populatie niet, omdat het onderdeel FDHOST niet in de juiste staat is om te werken, moet u deze cumulatieve update toepassen.

Meer informatie over cumulatief updatepakket 4 voor SQL Server 2008

Als u meer informatie wilt over de wijzigingen van de bestanden, en voor informatie over de vereisten voor het toepassen van het cumulatieve updatepakket met de hotfix die wordt beschreven in dit Microsoft Knowledge Base-artikel, klikt u op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base weer te geven:
963036 Cumulatief updatepakket 4 voor SQL Server 2008

Meer informatie over cumulatief updatepakket 1 voor SQL Server 2008 Service Pack 1

Als u meer informatie wilt over de wijzigingen van de bestanden, en voor informatie over de vereisten voor het toepassen van het cumulatieve updatepakket met de hotfix die wordt beschreven in dit Microsoft Knowledge Base-artikel, klikt u op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base weer te geven:
969099 Cumulatief updatepakket 1 voor SQL Server 2008 Service Pack 1

Verwijzingen


Als u meer wilt weten over de lijst met versies die beschikbaar zijn na de release van SQL Server 2008, klikt u op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base weer te geven:
956909 De versies van SQL Server 2008 die zijn uitgebracht na de release van SQL Server 2008
Als u meer informatie wilt over het incremental service model voor SQL Server, klikt u op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base weer te geven:
935897 Een incrementeel service model is beschikbaar in het SQL Server-team om hotfixes te leveren voor gerapporteerde problemen
Klik voor meer informatie over het naamgevingsschema voor SQL Server-updates op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base weer te geven:
822499 Nieuw naam schema voor updatepakketten voor Microsoft SQL Server-software
Klik voor meer informatie over de terminologie van software-updates op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base weer te geven:
824684 Beschrijving van de standaardterminologie die wordt gebruikt voor het beschrijven van Microsoft-software-updates