Dela via


Felsöka Full-Text indexering

gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Felsöka Full-Text indexeringsfel

När du fyller i eller underhåller ett fulltextindex kan fulltextindexeraren av skäl som beskrivs nedan misslyckas med att indexera en eller flera rader. Dessa fel på radnivå hindrar inte populationen från att slutföras. Indexeraren hoppar över dessa rader, vilket innebär att du inte kan fråga efter innehåll som finns i dessa rader.

Indexeringsfel kan inträffa när:

  • Indexeraren kan inte hitta eller läsa in en filter- eller ordbrytningskomponent. Det här felet kan inträffa om tabellraden innehåller ett dokumentformat eller innehåll på ett språk som inte har registrerats med SQL Server-instansen. Det här felet kan också inträffa om den registrerade ordbrytaren eller filterkomponenten inte signerades eller misslyckades med signaturverifieringen när den lästes in. Azure SQL och Azure SQL Managed Instance stöder inte ordbrytare från tredje part.

  • En komponent, till exempel en ordbrytare eller ett filter, misslyckas och returnerar ett fel till indexeraren. Det här felet kan inträffa om dokumentet som indexeras är skadat och filtret inte kan extrahera text från dokumentet. Det här felet kan också inträffa när en komponent inte kan hantera innehållet i en rad som överstiger en viss gräns, på grund av minnesbegränsningar för fulltextfilterdemonens värd (fdhost.exe).

För varje fel på radnivå innehåller crawlningsloggen information om orsaken till felet. Antalet fel sammanfattas i slutet av en fullständig eller inkrementell population.

Det finns andra fel som kan påverka själva indexeringsprocessen och förhindra att populationen slutförs:

  • Fulltextindexet överskrider gränsen för antalet rader som kan finnas i en fulltextkatalog.

  • Ett grupperat index eller fulltextnyckelindex i tabellen som indexeras ändras, tas bort eller återskapas.

  • Ett maskinvarufel eller en diskskada resulterar i att fulltextkatalogen skadas.

  • En filgrupp som innehåller tabellen som är fulltextindexerad går offline eller görs skrivskyddad.

Granska crawlningsloggen i slutet av en betydande åtgärd för uppbyggnad av fulltextindex, eller när du upptäcker att en population inte blev klar.

Osignerade komponenter

Som standard kräver fulltextindexeraren att filtren och ordbrytarna som den läser in signeras. Om de inte är signerade, vilket är fallet ibland när anpassade komponenter installeras, måste du konfigurera fulltextindexeraren för att ignorera signaturverifiering.

Viktig

Om du ignorerar signaturverifiering blir instansen av SQL Server mindre säker. Vi rekommenderar att du signerar alla komponenter som du implementerar eller ser till att alla komponenter som du skaffar är signerade. Information om signeringskomponenter finns i sp_fulltext_service (Transact-SQL).

Full-Text index i inkonsekvent tillstånd efter att transaktionsloggen har återställts

När du återställer transaktionsloggen för en databas kan du se en varning som anger att fulltextindexet inte är i ett konsekvent tillstånd. Anledningen till detta är att fulltextindexet i en tabell ändrades efter att databasen säkerhetskopierades. Om du vill föra fulltextindexet till ett konsekvent tillstånd måste du köra en fullständig population (crawlning) i tabellen. Mer information finns i Populate Full-Text Indexes.

Se även

ALTER FULLTEXT CATALOG (Transact-SQL)
Fyll i Full-Text index