現象
次のシナリオを検討してください。 既定では、Exchange Search は Microsoft Exchange Server 2010 環境のメールボックスデータベースに対して有効になっています。 オンラインモードで Microsoft Outlook を使用して、1つの文字または1つの数字を含むキーワードまたは語句のメールボックスを検索します。 このシナリオでは、メールボックスのキーワードに一致するものがある場合でも、次のエラーメッセージが表示されます。
"Keyword" の検索結果が見つかりませんでした。 さらに、次のイベントがアプリケーションログに記録されます。
ログ名: ApplicationSource: MSExchangeIS メールボックス StoreDate: Dateイベント ID: 9877 タスクカテゴリ: IndexingLevel: Errorkeywords: ClassicUser: N/AComputer:コンピューターの説明: コンテンツインデックス機能 ' Cisearch:: EcGetRowsetAndAccessor ' は、MSSearch から予期しない異常なエラーコードを受信しました。 メールボックスデータベース:メールボックスデータベースエラーコード: 0x8004\ 6
注: 0x8004・メッセージ 6 = QUERY_E_TOOCOMPLEX
原因
この問題が発生するのは、Exchange Search の1つの文字検索に対して、20万ノードのプレフィックス検索制限がハードコードされているためです。 プレフィックス検索がこの制限を超えると、QUERY_E_TOOCOMPLEX が返されます。そのため、 0x8004の 6はイベント ID 9877 の一部として記録されます。 既定では、Exchange 2010 環境で Outlook online モードを使用するすべての検索はプレフィックス検索になります。 1桁の数字または文字を使用すると、メールボックスのデータベース全体で、1桁の数字または文字で始まるすべての数値または単語が検索されます。 20万ノードの既定の制限に達すると、検索でエラーが返されます。注: 20万ノードの上限に達する最も一般的な方法は、1つの数字または文字を含む単語または語句を検索することです。 また、多くの And、Or、NOTs を使用して非常に複雑な検索を入力するなど、あまり一般的ではない原因もあります。 また、日付範囲と検索用語の複雑な組み合わせ、[宛先] フィールドと [差出人] フィールドの多くのエントリ、またはこれらの項目の組み合わせによって制限に達する可能性があります。
解決方法
この問題を解決するには、次の更新プログラムのロールアップをインストールします。
2608646 Exchange Server 2010 Service Pack 1 の更新プログラムロールアップ6の説明 重要: このセクション、方法、またはタスクには、レジストリの変更方法が記載されています。 レジストリを誤って変更すると、深刻な問題が発生することがあります。 レジストリを変更する際には十分に注意してください。 万一に備えて、編集の前にレジストリをバックアップしてください。 問題が発生した場合でも、レジストリを復元できます。 レジストリのバックアップ方法および復元方法の詳細を参照するには、以下のサポート技術情報番号をクリックしてください。
322756 Windows でレジストリをバックアップおよび復元する方法 更新プログラムのロールアップをインストールした後、次の手順に従って、クエリ制限ノードの最大数を 100万 (10 進数) に設定します。
-
過去1ヶ月以内に特定の Exchange Server 2010 メールボックスサーバーで受け取ったアプリケーションログ内のイベント ID 9877 と、その番号の記録を確認します。
-
[スタート] をクリック [検索の開始] ボックスに「 regedit 」と入力して、enter キーを押します。
-
次のレジストリ キーを見つけてクリックします。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ExchangeServer\v14\ExSearch
-
[編集] をクリックし、[新規作成] をポイントして、[キー] をクリックします。
-
「 MaxRestrictionNodes」と入力して、enter キーを押します。
-
[ MaxRestrictionNodes] で [編集] をクリックし、[新規作成] をポイントして、[ DWORD 値] をクリックします。
-
「サービスr」と入力して、enter キーを押します。
-
このレジストリエントリは、次のようになります。 HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\ExchangeServer\v14\ExSearch\MaxRestrictionNodes\Server
-
[編集] をクリックし、[変更] をクリックします。
-
[値のデータ] ボックスに、「 100万(十進)」と入力します。 注: レジストリに変更を加える前に、 MaxRestrictionNodes\Serverエントリの既定値は 20万 (10 進数) です。
-
レジストリ エディターを終了します。
注:
-
Microsoft Exchange Search インデクサーサービスを再起動した後、次のイベント Id についてアプリケーションをチェックインします。
-
イベント ID 130 は、MaxRestrictionNodes レジストリキーの下にある MailboxDB Guid を Guid に変換できませんでした。
-
イベント ID 131 が MaxRestrictionNodes レジストリキーを開けませんでした
-
イベント ID 132 でインデクサーの MaxRestrictionNodes プロパティを設定できませんでした
-
-
これらのイベントのいずれかを受け取った場合は、レジストリキーまたは DWORD 値を正しく入力していない可能性があります。 または、新しいキーまたは DWORD 値が正しく入力されていない可能性があります。 必要な修正を行い、Microsoft Exchange Search Indexer サービスを再起動します。 イベント Id 130、131、または132の新しいインスタンスを検索します。
-
アプリケーションログの1週間と1か月ごとに、イベント ID 9877 のエラー番号に依存していることを確認します。
-
まだこれらのイベントの数が多く表示されている場合は、値を 200万 (10 進数) まで段階的に増やすことができます。
-
200万 (10 進数) よりも大きい値を増やさないでください。これにより、サーバーのパフォーマンスが低下する可能性があります。
-
値を 200万 (10 進数) に増やし、そのまま毎週または毎月のイベントを受け取ることができる場合、これは予期される動作です。 この動作は、非常に複雑な検索を実行しているユーザーが原因で発生する可能性があります (詳細については、「現象」セクションを参照してください)。
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。
詳細情報
Exchange Search の詳細については、次の Microsoft web サイトを参照してください。
Exchange Search に関する一般的な情報Exchange Search を有効または無効にする方法の詳細については、次の Microsoft web サイトを参照してください。
Exchange Search を有効または無効にする方法に関する一般的な情報MaxRestrictionNodesエントリの詳細については、次の Microsoft web サイトを参照してください。