イベント ID 9646 について

こんにちは。Exchange Server サポートの竹田です。

今回は、メールボックスに接続する際のセッション数の制限値についてご案内します。

 

Exchange Server では、メールボックスに接続できる 1 ユーザーあたりのセッション数が予め制限されています。

Outlook からの接続については、MAPI セッションの制限値として既定で 32 に設定されており、この制限値に抵触するとメールボックス サーバー上に以下のようなイベントが記録されます。

 ID:       9646
 Level:    Error
 Source: MSExchangeIS
 Message:  Mapi session "<Mailbox GUID>" exceeded the maximum of 32 objects of type "session".

この制限値に抵触すると、メールボックスにアクセスする際に新たなセッションが確立できないため、メールボックスへのアクセスができなくなります。
なお、この制限は接続するユーザーに対する制限となります。
例えば、共有メールボックスに対して複数人 (UserA、UserB、UserC と仮定) からアクセスしている場合、UserA からのセッション数が制限値を超過しても UserB と UserC に影響は及びません。

この現象については、既に以下のサポート技術情報 (KB 842022) として公開されており、以下のレジストリを作成して Information Store サービスを再起動することで回避できます。

 

TITLE : Event ID 9646 is logged in the application event log of your Exchange Server 2003 computer when a client opens many MAPI sessions

URL : https://support.microsoft.com/en-us/kb/842022

 

 キー : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\ParametersSystem
 名前: Maximum Allowed Sessions Per User
 型  : REG_DWORD
 値  : 64 (既定値は32)

※ 値は環境やご利用状況によって大きくしますが、パフォーマンスを確認しながらお願いします。

 

上記 KB 842022 では、影響範囲として Exchange 2003 / 2007 と記載がありますが、Exchange 2010 / 2013 でも同様となります。

このため、もし Exchange 2010 / 2013 をご利用のお客様で、全体ではなく一部のメールボックスへのアクセスができない現象が発生しましたら、該当のメールボックスが格納されているメールボックス サーバーのイベント ログをご確認いただき、ID 9646 のエラーイベントが記録されていないかをご確認いただければと思います。

 

なお、一般的な利用方法であればこの制限値に抵触することはありません。

例えば、以下のような場合はメールボックスに対するセッションが残りやすくなるため、制限値に抵触しやすくなります。

 ・複数のPC から 1 つのメールボックスにアクセスしている
 ・無線などのネットワークが不安定な状態で利用している

ちなみに…

上記では、Outlook からの接続制限数である MAPI セッション数についてお伝えしましたが、OWA および POP/IMAP、ActiveSync/EWS の場合は、非 MAPI セッション数として 16 が既定の制限値として定義されています。
この制限値に抵触した場合も、ID 9646 として以下のように記録されます。

 ID:       9646
 Level:    Error
 Source: MSExchangeIS
 Message:  Mapi session "<Mailbox GUID>" exceeded the maximum of 16 objects of type "session".

非 MAPI セッション数の制限値に抵触した場合の対処策は、以下のレジストリになります。

 キー : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\ParametersSystem
 名前 : Maximum Allowed Service Sessions Per User
 型   : REG_DWORD
 値   : 32 (既定値は16)

※ 名前に "Service" が含まれてますのでご注意ください。

また、クライアントからの接続だけでなく、1 つのメールボックスに対して同時にアクセスできるアイテム数や添付ファイル数等にも制限値が設けられており、制限値に抵触した場合は以下のようなイベントが記録されます。

  ID:       9646
 Level:    Error
 Source: MSExchangeIS
 Message:  Mapi session "<Mailbox GUID>" exceeded the maximum of 250 objects of type "objtMessage".

  ID:       9646
 Level:    Error
 Source: MSExchangeIS
 Message:  Mapi session "<Mailbox GUID>" exceeded the maximum of 500 objects of type "objtAttachment".

 ID:       9646
 Level:    Error
 Source: MSExchangeIS
 Message:  Mapi session "<Mailbox GUID>" exceeded the maximum of 500 objects of type "objtAttachmentView".

 ID:       9646
 Level:    Error
 Source: MSExchangeIS
 Message:  Mapi session "<Mailbox GUID>" exceeded the maximum of 500 objects of type "objtFolder".

しかしながら、これらのイベントは、通常の利用方法であればこれらの制限値に抵触することはほとんどありません。スクリプトなどでアクセスしている場合は、ウイルス スキャン ソフトなどで短期間に一斉アクセスするような場合は記録される場合もございますが、連続して記録され続けていなければ一過性の現象ですのでユーザー利用にも影響はありません。

(短期間に 500 ものオブジェクトにアクセスすることは、人の手ではそう簡単にはできません)
対処方法は同様にレジストリによる制限値の緩和となりますが、これまでとキーの位置が異なりますのでご注意ください。

 キー : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\ParametersSystem\MaxObjsPerMapiSession
 名前 : <"objtMessage" などのイベントに記録されているobject type>
 型   : REG_DWORD
 値   : <各オブジェクトの既定値より大きな数値>

※ MaxObjsPerMapiSession は、既定では存在していませんので作成します。