フルテキスト インデックスの作成エラー
フルテキスト インデックスの作成時または保守時には、後述の理由により、インデクサが 1 つ以上の行のインデックス作成に失敗することがあります。このような行レベルのエラーでは、インデックスの作成は中止されることなく完了します。インデクサは、エラーが発生した行をスキップします。そのため、エラーが発生した行に含まれる内容の照会はできません。
インデックス作成は、次の場合に失敗する可能性があります。
- インデクサが、フィルタ コンポーネントやワード ブレーカ コンポーネントを検出できないか、読み込むことができない。このエラーは、SQL Server 2005 のインスタンスに登録されていない言語のドキュメント形式や内容がテーブル行に含まれる場合に発生することがあります。また、登録済みのワード ブレーカ コンポーネントやフィルタ コンポーネントを読み込むときに、コンポーネントに署名されていないか、署名の検証に失敗した場合にも発生します。
- ワード ブレーカやフィルタなどのコンポーネントが失敗してインデクサにエラーを返す。このエラーは、インデックスが作成されたドキュメントが破損し、フィルタがドキュメントからテキストを抽出できない場合に発生することがあります。また、Microsoft MSFTEFD (Full-Text Engine Filter Daemon) でのメモリ制限により、1 行の内容が一定サイズを超え、コンポーネントでは処理できない場合にも発生することがあります。
行レベルのエラーが発生するたびに、クロール ログにエラーの理由の詳細が記録されます。エラー数は、完全作成または増分作成の最後に集計されます。
他に、インデックス作成のプロセス自体に影響を与え、作成を完了できない次のようなエラーもあります。
- フルテキスト インデックスが、フルテキスト カタログに含むことができる行数の制限を超える。
- インデックスが作成されているテーブルのクラスタ化インデックスまたはフルテキスト キー インデックスが変更、削除または再構築される。
- ハードウェア エラーやディスクの破損などによりフルテキスト カタログが破損する。
- フルテキスト インデックスが作成されているテーブルを含むファイル グループがオフラインになるか、読み取り専用になる。
すべての重要なフルテキスト インデックス作成操作の最後、または作成が完了していないことがわかったときは、クロール ログを確認してください。
署名されていないコンポーネント
既定では、フルテキスト インデクサでは、読み込むフィルタやワード ブレーカに署名が必要です。コンポーネントに署名されていない場合、つまり署名されていないカスタム コンポーネントをインストールする可能性がある場合は、署名の検証が無視されるようにフルテキスト インデクサを構成する必要があります。
重要 : |
---|
署名の検証を無視すると、SQL Server のインスタンスのセキュリティが低くなります。実装するすべてのコンポーネントに署名するか、入手するすべてのコンポーネントの署名を確認することをお勧めします。コンポーネントの署名の詳細については、「sp_fulltext_service (Transact-SQL)」を参照してください。 |
フルテキスト カタログの行制限の超過
1 つのフルテキスト カタログに格納可能な行数の上限は 2,147,483,643 行です。この上限を超えると、エラー メッセージが表示されます。この問題を解決するには、まず特定のフルテキスト カタログに関連する各テーブルの行数を計算します。上限を超える行数が、少数であるか多数であるかを判断します。
- 上限を超える行数が少数の場合は、その特定のフルテキスト カタログに関連する 1 つ以上のインデックスを別のカタログに移動することを検討します。次に、REORGANIZE オプションを指定して ALTER FULLTEXT CATALOG を実行します。
- 上限を超える行数が多数の場合は、最初に REORGANIZE オプションを指定して ALTER FULLTEXT CATALOG を実行することを検討します。これは負荷の大きい操作であることを忘れないでください。
関連テーブルから項目をいくつか削除することも検討します。
参照
概念
その他の技術情報
フルテキスト検索の概念
ALTER FULLTEXT CATALOG (Transact-SQL)