Exchange Server のメッセージ ID 重複検出について
Exchange Server ご利用の皆様
こんにちは、Exchange サポートの河本です。
今回は Exchange Server のメッセージ ID 重複検出についてご紹介します。
Exchange Server では Exchange Information Store サービスにおいて、以下のメッセージ プロパティーに基づいて重複するメッセージを検出します。
- インターネット メッセージ ID (PR_INTERNET_MESSAGE_ID)
- クライアントの送信時間 (PR_CLIENT_SUBMIT_TIME)
これらのプロパティー値から該当メッセージが同一の日時かつ同じ Message-ID としてデータベースのテーブル (DeliveredTo テーブル) 上に存在している場合、該当のメッセージを重複しているとみなし、破棄します。
重複として検知されたメッセージは配信されず、メッセージ追跡ログには "DUPLICATEDELIVER" として記録されます。なお、DeliveredTo テーブルのエントリは Exchange Information Store サービスによって定期的に削除されます。
メッセージ ID 重複検出の無効化ついて
Exchange Server 2007 SP2 RU2 (ロールアップ更新プログラム 2)、および Exchange Server 2010 SP1 以降から上述のメッセージ ID 重複検出機能を無効化することができます。
無効化するとメッセージ ID の重複が発生し、クライアントの送信日時が同じであっても、Exchange Server は当該メッセージの破棄を行いません。
具体的には以下の 2 つのレジストリキーに値を追加することで重複の検出を無効化します。
[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/MSExchangeIS/ParametersPrivate]
[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/MSExchangeIS/ParametersPublic]
値の名前 : Disable All Duplicate Detection
データ タイプ : REG_DWORD
値 : 1
補足情報
以下に Exchange Server 2007 におけるメッセージ ID 重複検出に関連する公開情報がございます。
ID : 975990
Title : Messages that have duplicate message IDs are deleted when they are archived to an Exchange 2007 mailbox
Url : https://support.microsoft.com/en-us/kb/975990
Title : Exchange 2007 で重複するメッセージを検出する方法
Url : https://technet.microsoft.com/ja-JP/library/dd577073(v=exchg.80).aspx
メッセージ ID 重複検出の無効化機能 (Disable All Duplicate Detection レジストリー) は Exchange Server 2010 SP1 以降でも実装されておりますが、Exchange Server 2013 および Exchange Server 2016 では実装されておりませんのでご注意下さい。