フルテキスト インデックスの作成エラーのトラブルシューティング

フルテキスト インデックスの作成時または保守時には、後述の理由により、フルテキスト インデクサが 1 つ以上の行のインデックス作成に失敗することがあります。このような行レベルのエラーでは、インデックスの作成は中止されることなく完了します。インデクサは、エラーが発生した行をスキップします。そのため、エラーが発生した行に含まれる内容の照会はできません。

インデックス作成は、次の場合に失敗する可能性があります。

  • インデクサが、フィルタ コンポーネントやワード ブレーカ コンポーネントを検出できないか、読み込むことができない。このエラーは、SQL Server のインスタンスに登録されていない言語のドキュメント形式や内容がテーブル行に含まれる場合に発生することがあります。また、登録済みのワード ブレーカ コンポーネントやフィルタ コンポーネントを読み込むときに、コンポーネントに署名されていないか、署名の検証に失敗した場合にも発生します。

  • ワード ブレーカやフィルタなどのコンポーネントが失敗してインデクサにエラーを返す。このエラーは、インデックスが作成されたドキュメントが破損し、フィルタがドキュメントからテキストを抽出できない場合に発生することがあります。また、フルテキスト フィルタ デーモン ホスト (fdhost.exe) でのメモリ制限により、1 行の内容が一定サイズを超え、コンポーネントでは処理できない場合にも発生することがあります。

行レベルのエラーが発生するたびに、クロール ログにエラーの理由の詳細が記録されます。エラー数は、完全作成または増分作成の最後に集計されます。

他に、インデックス作成のプロセス自体に影響を与え、作成を完了できない次のようなエラーもあります。

  • フルテキスト インデックスが、フルテキスト カタログに含むことができる行数の制限を超える。

  • インデックスが作成されているテーブルのクラスタ化インデックスまたはフルテキスト キー インデックスが変更、削除または再構築される。

  • ハードウェア エラーやディスクの破損などによりフルテキスト カタログが破損する。

  • フルテキスト インデックスが作成されているテーブルを含むファイル グループがオフラインになるか、読み取り専用になる。

すべての重要なフルテキスト インデックス作成操作の最後、または作成が完了していないことがわかったときは、クロール ログを確認してください。

署名されていないコンポーネント

既定では、フルテキスト インデクサでは、読み込むフィルタやワード ブレーカに署名が必要です。コンポーネントに署名されていない場合、つまり署名されていないカスタム コンポーネントをインストールする可能性がある場合は、署名の検証が無視されるようにフルテキスト インデクサを構成する必要があります。

重要な注意事項重要

署名の検証を無視すると、SQL Server のインスタンスのセキュリティが低くなります。実装するすべてのコンポーネントに署名するか、入手するすべてのコンポーネントの署名を確認することをお勧めします。コンポーネントの署名の詳細については、「sp_fulltext_service (Transact-SQL)」を参照してください。