Delen via


Problemen met Full-Text indexering oplossen

van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

De problemen met Full-Text indexering oplossen

Tijdens het vullen of onderhouden van een volledige-tekstindex kan de indexeerfunctie voor volledige tekst, om de hieronder beschreven redenen, een of meer rijen niet indexeren. Deze fouten op rijniveau verhinderen niet dat de populatie wordt voltooid. De indexeerfunctie slaat deze rijen over, wat betekent dat u geen query kunt uitvoeren op inhoud in deze rijen.

Indexeringsfouten kunnen optreden wanneer:

  • De indexeerfunctie kan een filter- of woordonderbrekeronderdeel niet vinden of laden. Deze fout kan optreden als de tabelrij een documentindeling of inhoud bevat in een taal die niet is geregistreerd bij het exemplaar van SQL Server. Deze fout kan ook optreden als de geregistreerde woordafbreker of het filteronderdeel niet is ondertekend of de handtekeningverificatie is mislukt tijdens het laden. Azure SQL en Azure SQL Managed Instance bieden geen ondersteuning voor woordonderbrekers van derden.

  • Een onderdeel, zoals een woordonderbreker of -filter, mislukt en retourneert een fout naar de indexeerfunctie. Deze fout kan optreden als het document dat wordt geïndexeerd beschadigd is en het filter geen tekst uit het document kan extraheren. Deze fout kan ook optreden wanneer een onderdeel de inhoud van één rij boven een bepaalde grootte niet kan verwerken, vanwege geheugenlimieten op de daemonhost van het volledige tekstfilter (fdhost.exe).

Voor elke fout op rijniveau bevat het verkenningslogboek details over de reden voor de fout. De foutaantallen worden samengevat aan het einde van een volledige of incrementele populatie.

Er zijn andere fouten die van invloed kunnen zijn op het indexeringsproces zelf en voorkomen dat de populatie wordt voltooid:

  • De index voor volledige tekst overschrijdt de limiet voor het aantal rijen dat kan worden opgenomen in een catalogus met volledige tekst.

  • Een geclusterde index of een index met volledige tekst op de tabel die wordt geïndexeerd, wordt gewijzigd, verwijderd of opnieuw opgebouwd.

  • Een hardwarefout of schijfbeschadiging resulteert in de beschadiging van de volledige tekstcatalogus.

  • Een bestandsgroep die de tabel bevat die in zijn geheel wordt geïndexeerd voor volle tekst, gaat offline of wordt op alleen-lezen gezet.

Bekijk het verkenningslogboek aan het einde van een significante volledige-tekstindexbewerking of wanneer u merkt dat een populatie niet is voltooid.

Niet-ondertekende onderdelen

De indexeerfunctie voor volledige tekst vereist standaard dat de filters en woordonderbrekers die worden geladen, worden ondertekend. Als ze niet zijn ondertekend, wat soms het geval is wanneer aangepaste onderdelen worden geïnstalleerd, moet u de indexeerfunctie voor volledige tekst configureren om de verificatie van handtekeningen te negeren.

Belangrijk

Door handtekeningverificatie te negeren, is het exemplaar van SQL Server minder veilig. Het is raadzaam dat u alle onderdelen ondertekent die u implementeert of ervoor zorgt dat alle onderdelen die u aanschaft, zijn ondertekend. Zie sp_fulltext_service (Transact-SQL)voor meer informatie over ondertekeningsonderdelen.

Full-Text index in inconsistente status nadat het transactielogboek is hersteld

Wanneer u het transactielogboek van een database herstelt, ziet u mogelijk een waarschuwing die aangeeft dat de volledige-tekstindex niet consistent is. De reden hiervoor is dat de volledige-tekstindex voor een tabel is gewijzigd nadat een back-up van de database is gemaakt. Als u de volledige tekstindex naar een consistente toestand wilt brengen, moet u een volledige populatie (crawl) uitvoeren op de tabel. Voor meer informatie, zie Full-Text indexenvullen.

Zie ook

ALTER FULLTEXT CATALOG (Transact-SQL)
Indexen vullen Full-Text