Active Directory レプリケーション エラー 8464: 同期の試行に失敗しました

この記事は、Active Directory レプリケーション エラー 8464 のトラブルシューティングに役立ちます。

適用対象: Windows Server 2019、Windows Server 2016、Windows Server 2012 R2
元の KB 番号: 3001248

注:

ホーム ユーザー: この記事は、テクニカル サポート エージェントと IT プロフェッショナルのみを対象としています。 問題のヘルプを探している場合は、 Microsoft コミュニティに問い合わせてください

現象

この記事では、Active Directory レプリケーションが失敗し、エラー 8464 が返される問題を解決するための症状、原因、解決策について説明します。

16 進エラー コード: 0x00002110
12 月のエラー コード: 8464
シンボリック名: ERROR_DS_DRA_INCOMPATIBLE_PARTIAL_SET
エラーの説明: 移行先 DC が現在、ソースから新しい部分属性の同期を待機しているため、同期の試行が失敗しました。 最近のスキーマ変更で部分属性セットが変更された場合、この条件は正常です。 宛先部分属性セットは、ソース部分属性セットのサブセットではありません。
ヘッダー: winerror.h

さらに、次のようなActiveDirectory_DomainServiceまたは NTDS レプリケーション イベント 1704 エントリがログに記録されます。

ログ名: ディレクトリ サービス
イベント ID :1704
イベント ソース: ActiveDirectory_DomainService/NTDS レプリケーション
タスク カテゴリ: グローバル カタログ
イベント テキスト: グローバル カタログは、次のドメイン コントローラーから、次のディレクトリ パーティションの部分属性セットのメンバーのレプリケーションを開始しました。

ディレクトリ パーティション:
DC=<name,DC>=<domain,DC>=com

ドメイン コントローラー:
<Fqdn>

これは、部分属性セットに 1 つ以上の属性が追加されるため、特別なレプリケーション サイクルです。

注:

通常、スキーマを拡張した後、または部分属性セット (PAS) に新しい属性を追加した後に、Active Directory レプリケーションの状態 8464 が表示されます。 このメッセージは、レプリケーションが一時的に遅延することを示します。 ACTIVE Directory レプリケーションの状態 8464 は、PAS が更新プロセスを完了した後に消えます。

原因

この問題は、PAS に属性が追加されたときに PAS 同期がトリガーされるために発生します。

詳細については、「詳細情報」セクションを参照してください。

解決方法

これは PAS 同期の標準的な部分であるため、解決手順は必要ありません。 このレプリケーションの状態が 1 週間以上環境内に保持される場合のトラブルシューティング手順については、「詳細情報」セクションを参照してください。

詳細

状態 8464 の原因の詳細

属性のスキーマ定義は、属性Schema オブジェクトとしてスキーマ パーティションに格納されます。 [この属性をグローバル カタログチェックにレプリケートする] ボックスをオンにすると、attributeSchema オブジェクトの isMemberOfPartialAttributeSet 属性が TRUE に設定されます。 この属性が TRUE に設定されている attributeSchema オブジェクトでは、対応する属性が Partial Attribute Set に含まれます。

PAS 同期が発生すると (PAS 拡張機能の結果)、レプリケーション タスク キューに特殊なタスクがあります。 DRS_SYNC_PAS フラグは、この特殊なタスクを識別します。

最適化されていない Active Directory トポロジまたは Active Directory レプリケーションエラーにより、PAS 更新プロセスが大幅に遅延する可能性があります。 通常、PAS 更新プロセス中に Active Directory レプリケーションの状態 8464 が表示されます。

Active Directory レプリケーションの状態 8464 をチェックする方法

コマンドは Repadmin 、レプリケーションの試行が状態 8464 で遅延したことを示す Active Directory レプリケーション状態レポートの状態を提供します。

Repadmin のコマンドは、通常、8464 の状態を引用します。 コマンドには次のものが含まれますが、これらに限定されません。

  • REPADMIN /SHOWREPL
  • REPADMIN /REPLSUM
  • REPADMIN /REPLICATE

DC2 から Repadmin /showrepl DC1 への受信レプリケーションが遅延していることを示す出力例を次に示します。

Domain\DC2 DSA オプション: IS_GC サイト オプション: (なし) DSA オブジェクト GUID: <GUID> DSA invocationID: <ID>
DC=child,DC=root,DC=contoso,DC=com
RPC DSA オブジェクト GUID を使用したドメイン\DC1: <GUID> 最後の試行 @ 2014-08-28 04:50:44 は通常の理由で遅延しました。結果は 8464 (0x2110)

コマンドの詳細出力を次に Repadmin /showrepl 示します。

RPC 経由の Domain\TRDC1
DSA オブジェクト GUID: <GUID> アドレス: xxxxxxxxxx._msdcs.root.contoso.com DSA 呼び出し ID: <ID> SYNC_ON_STARTUP DO_SCHEDULED_SYNCS PARTIAL_ATTRIBUTE_SET USN: 0/OU,234943/PU
<@Date & Time> は通常の理由で遅延しました。結果は 8464 (0x2110):
移行先 DC が現在、ソースからの新しい部分属性の同期を待機しているため、同期の試行が失敗しました。 最近のスキーマ変更で部分属性セットが変更された場合、この条件は正常です。
宛先部分属性セットは、ソース部分属性セットのサブセットではありません。 前回の成功 @ <日付 & 時刻>。

宛先ドメイン コントローラーを決定する方法

注:

これらの手順では、環境の Active Directory レプリケーション トポロジ、レプリケーション状態データの相関関係、Active Directory レプリケーション間隔または接続の一時的な変更について理解する必要があります。

  1. Active Directory レプリケーションの状態 8464 がログに記録されている 1 つのパーティションについて、1 つの宛先ドメイン コントローラーを特定します。 これらの手順では、このドメイン コントローラーとパーティションを使用します (パーティションとドメイン コントローラーの間を移動しないでください)。

    注:

    この手順では、最初にブリッジヘッド サーバーとハブ サイト ドメイン コントローラーの更新に重点を置きます。

  2. 次のデータを収集します。 移行先ドメイン コントローラーとソース ドメイン コントローラーのレプリケーション状態の結果を確認します。 次のコマンドを実行して結果をエクスポートします。

    1. すべてのグローバル カタログ サーバー間で現在の PAS 同期状態を比較します。 次のコマンドを実行して、結果を pas_domain.txt ファイルにエクスポートします。

      repadmin /showattr gc: <Partition_DN> /gc /atts:partialattributeset >pas_domain.txt
      
    2. 宛先ドメイン コントローラーとソース ドメイン コントローラーのレプリケーション状態の結果を確認します。 次のコマンドを実行して結果をエクスポートします。

      Repadmin /showrepl <DestinationDC> /verbose >repl_destDC.txt
      Repadmin /showrepl <SourceDC> /verbose >repl_sourceDC.txt
      Repadmin /showrepl * /csv >showrepl.csv
      
    3. PAS 内のすべての属性の一覧。 これは、現在のカウントを決定する場合に役立ちます。 次のコマンドを実行して、結果を pas.txt ファイルにエクスポートします。

      repadmin /showattr fsmo_schema: ncobj:schema: /filter:"(ismemberofpartialattributeset=TRUE)" /subtree /atts:dn >pas.txt
      
    4. PAS 同期がディレクトリ サービス イベント ログで完了したことを示すイベント ID 1704 と 1702 を確認します。 イベント ID 1702 の例を次に示します。

      ログ名: ディレクトリ サービス
      イベント ID: 1702
      イベント ソース: ActiveDirectory_DomainService/NTDS レプリケーション
      タスク カテゴリ: グローバル カタログ
      イベント テキスト: グローバル カタログは、次のドメイン コントローラーからの次のディレクトリ パーティションの部分属性セットの同期を完了しました。

      ディレクトリ パーティション:
      DC=<name,DC>=<domain,DC>=com

      ドメイン コントローラー:
      <Fqdn>

      これは、部分属性セットに 1 つ以上の属性が追加されるため、特別なレプリケーション サイクルです。

  3. 古い PAS または古い PAS を持つソース ドメイン コントローラーを使用して、移行先ドメイン コントローラーに基づいてデータを分析します。

    • 移行先ドメイン コントローラーに更新された PAS がない場合は、次の操作を行います。
      1. ソース パートナーが更新された値を持っているかどうかを判断します。
      2. 移行先と、状態 8464 をクリアするために古いソース ドメイン コントローラーを更新します。
      3. 最新のソース ドメイン コントローラーを使用してレプリケーションを手動で開始します。 または、接続が存在しない場合は、ソース ドメイン コントローラーを作成してレプリケートします。
      4. 移行先ドメイン コントローラーが更新されると、更新されていないソース ドメイン コントローラーの状態 8464 がログに記録されます。
    • 移行先ドメイン コントローラーに更新された PAS があるが、ソース ドメイン コントローラーが更新されない場合、ソースが更新されるまで状態 8464 はクリアされません。 または、ソース ドメイン コントローラーを更新するには、最新のドメイン コントローラーでレプリケーションを手動で開始します。

Pas_domain.txt 手順

出力の対象の値は、v1.cAttrs = テキストの後に一覧表示されます。 この数値には、PAS に含まれる属性の数が表示されます。 各パーティションの各グローバル カタログ (GC) 間でこれらの値を比較します。 すべての GC に同じ値が表示される場合、すべての GC は同期中です (すべて更新された PAS を持っているか、すべて同期していません)。 すべての値が同じ場合は、他のパーティションまたはダンプ スキーマの出力からの値と比較し、PAS 内の属性の一覧をカウントします。

次に示すのは、DC1 が CHILD パーティションの部分属性セットを更新していないサンプル ログです。 また、DC2 は PAS 更新プロセスを完了しました。 ChildDC1 のデータはログに記録されません。partialattributeset 属性には、ChildDC1 に子ドメイン パーティションの完全なコピーが含まれているため、データがありません。

Repadmin: 完全な DC DC1.root.contoso.com に対するコマンド /showattr の実行
DN: DC=child,DC=root,DC=contoso,DC=com
1> partialAttributeSet: { dwVersion = 1; dwFlag = 0;V1.cAttrs = 196、V1.rgPartialAttr = 0、3、4、6、7、8、9
Repadmin: 完全な DC ChildDC1.child.root.contoso.com に対するコマンド /showattr の実行
DN: DC=child,DC=root,DC=contoso,DC=com
Repadmin: 完全な DC DC2.root.contoso.com に対するコマンド /showattr の実行
DN: DC=child,DC=root,DC=contoso,DC=com
1> partialAttributeSet: { dwVersion = 1; dwFlag = 0;V1.cAttrs = 203、V1.rgPartialAttr = 0、3、4、6、7、8、9

Pas.txt 手順

PAS 内の属性の一覧を特定する

PAS 内の属性の一覧を表示するには、repadmin または別のツールを使用して、ismemberofpartialattributeset 値が TRUE に設定されているすべての属性についてスキーマ パーティションを照会します。

repadmin /showattr fsmo_schema: ncobj:schema: /filter:"(ismemberofpartialattributeset=TRUE)" /subtree /atts:dn >pas.txt

TRUE という単語がすべての大文字テキストに含まれていることを確認します。

LDIFDE を使用して、このデータをカウントと共に実現することもできます。

Ldifde -f pas.txt -d "cn=schema,cn=configuration,dc=forestRootDN" -r "(ismemberofpartialattributeset=TRUE)" 196 entries exported

PAS 内の属性の数を特定する

repadmin 出力から属性の数を取得するには、次の手順に従います。

  1. テキスト ファイルを メモ帳で開きます。
  2. ファイルの先頭と末尾にある空白行を削除します。
  3. "Repadmin: running command /showatt" で始まるファイルの先頭にある行を削除します。
  4. ファイル内のテキストの最後の行にポインターを置き、Ctrl + G キーボード ショートカットを押して [ 行に移動 ] ダイアログ ボックスを開きます。 このウィンドウの行番号は、部分属性セット内の属性の数を表します。

Directory Service イベント ログ

部分属性セットの更新サイクルに関する追加の詳細を表示するには、グローバル カタログ イベントの診断ログを有効にします。 レプリケーション イベントの詳細を有効にした後、Directory Services イベント ログを表示します。

グローバル カタログ イベントの診断ログを有効にするには、次の手順に従います。

  1. Regedit を開きます。
  2. 次のレジストリ キーを見つけて選択します。
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Diagnostics
  3. グローバル カタログのイベント ログを構成します。
    1. レジストリ エディターの右側にある [18 グローバル カタログ] エントリをダブルクリックします。
    2. [値データ] ボックスに「3」と入力し、[OK] を選択します
  4. Regedit を閉じます。

部分属性同期でのレプリケーションの状態サイクル

Active Directory レプリケーションの状態 8464 メッセージは、移行先ドメイン コントローラーがソース ドメイン コントローラーから更新された PAS の同期を待機しているときにログに記録されます。

注:

PAS_Sync タスクに対して選択されたドメイン コントローラーは、(既存のレプリカ パートナーのセットから) 次のレプリケーション間隔で別のソース ドメイン コントローラーに移動できます。

PAS を同期するための新しい試行は、レプリケーション スケジュールに基づいています。 PAS_Sync タスクに別のソースが選択されている場合、レプリケーションは通常、前のソース ドメイン コントローラーで続行されます。 PAS が正常に更新されると、更新されたドメイン コントローラーに対する同じパーティションのレプリケーションは、更新された PAS なしでドメイン コントローラーから失敗します。 このシナリオでは、同じレプリケーションの状態がログに記録されます。

移行先ドメイン コントローラーが PAS を更新していない場合、次のいずれかのプロセスが発生します。

  • PAS を更新するレプリカ ソースを 1 つ選択します。 次に、同期の開始時にイベント 1704 がログに記録されます。
  • ソースに更新された PAS 自体がない場合は、Active Directory レプリケーションの状態 8464 がログに記録され、診断ログが有効になっている場合はイベント ID 1705 が記録されます。
  • PAS 更新タスクが失敗し、新しいソースが選択された場合、診断ログが有効になっている場合、イベント ID 1706 がログに記録されます。
  • 同じパーティションに対する他のドメイン コントローラーからのレプリケーションは、通常どおり続行されます (エラーがない場合は状態 0 がログに記録されます)。

PAS 同期サイクルの例

このセクションは、PAS 同期サイクルのサンプルです。 次の表は、フォレスト内のドメイン コントローラーです。

ドメイン コントローラー ドメイン
DC1 Root.contoso.com
DC2 Root.contoso.com
ChildDC1 Child.root.contoso.com
ChildDC2 Child.root.contoso.com
TRDC1 Treeroot.fabrikam.com

フォレストの構造を次に示します。

P A S 同期サイクルのフォレストの構造。

次のような状況で問題が発生します。

  • スキーマ拡張機能を使用して、PAS に 7 つの新しい属性が追加されます。 そのため、PAS 内の属性の数は 196 から 203 に増加します。
  • これにより、PAS 同期が開始されます。 すべての GC は、各 GC パーティション内のこれら 7 つの属性のデータをソースにする必要があります。
  • 次の図は、1 つのパーティションの更新を示しています。
  • この環境のレプリケーション間隔は 15 分です。
  • パーティションの書き込み可能なコピーをホストしている DC からのレプリケーションをブロックする既存の条件が存在します。

このシナリオでは、次のプロセスが発生します。

  1. 宛先ドメイン コントローラーが PAS を更新していない場合:

    1. DC1 は、PAS_SYNCのために DC2 を選択します。 DC2 にも古い PAS があるため、Active Directory レプリケーションの状態 8464 がログに記録されます。

    2. TRDC1 はPAS_SYNCに対して選択されておらず、古い PAS、Active Directory レプリケーション状態 0 (成功) もログに記録されます。

    3. ChildDC1 は、このパーティションのすべての属性を持つ子パーティションの書き込み可能なコピーを保持します。 ただし、エラー 8606 で Active Directory レプリケーションが失敗する原因となる、既存の問題があります。

      状態 8464 は D C 2 に対してログに記録され、Active Directory レプリケーションはエラー 8606 で失敗します。

  2. 宛先ドメイン コントローラーは、PAS_SYNC タスクの新しいソース (TRDC1) を選択します。

    1. TRDC1 には古い PAS も含まれているため、レプリケーションが遅延され、状態 8464 がログに記録されます。

    2. DC2 には、古い PAS もあります。 ただし、この間隔でPAS_Syncは選択されておらず、レプリケーションは正しく完了しています。 そのため、状態 0 がログに記録されます。

    3. 関連のない残留オブジェクトの問題 (破棄されたオブジェクト) が存在するため、Active Directory レプリケーションは ChildDC1 で失敗します。

      TRDC1 の状態 8464 がログに記録され、Active Directory レプリケーションは引き続き失敗します。

  3. PAS_SYNCは、他の古いレプリカ (DC2) に戻ります。

    1. その間、ChildDC1 のレプリケーションの問題を修正します。

    2. レプリケーションは DC2 から遅延し、状態 8464 がログに記録されます。

    3. レプリケーションは TRDC1 から正常に続行されます。

    4. レプリケーションは ChildDC1 から正常に続行されます (ただし、このサイクルではPAS_Syncには選択されていません)。

      子 D C 1 の問題を修正し、レプリケーションが正常に進みます。

  4. PAS_SYNC (ChildDC1) に適切なドメイン コントローラーが最終的に選択されます。

    1. レプリケーションは、DC2 と TRDC1 から通常どおりに実行されます (これらの試行はPAS_Sync前に完了します)。

    2. レプリケーションは、ChildDC1 から通常どおりに続行され、PAS_SYNCが完了します。

      PAS_Syncには子 D C 1 が選択され、レプリケーションは通常どおりに続行されます。

  5. 宛先ドメイン コントローラーには、最後に更新された PAS が (最後の間隔から) 取得されます。

    1. ソース ドメイン コントローラーが古いため、DC2 と TRDC1 からのレプリケーションが両方とも遅延するようになりました。 この問題では、同じ Active Directory レプリケーションの状態がログに記録されます。

    2. ChildDC1 からレプリケーションが正常に完了しました。

      状態 8464 は、DC 2 および T R D C 1 に表示されます。

  6. 前のレプリケーション間隔と次のレプリケーション間隔の間に、DC2 の CHILD ドメインに設定された部分属性のコピーも更新されます (ただし、画像は表示されません)。

    1. 移行先ドメイン コントローラー (DC1) とソース ドメイン コントローラー (DC2 と ChildDC1*) の両方に更新された PAS があるため、レプリケーションは正しく完了します。

      *ChildDC1 には、(PAS だけでなく) パーティションの属性の完全なセットがあります。

    2. レプリケーションは古い PAS をまだ持っているため、TRDC1 から遅延します。

      レプリケーションは古い P A S をまだ持っているため、T R D C 1 から遅延します。

  7. 前のレプリケーション間隔と次のレプリケーション間隔の間に、TRDC1 の CHILD ドメインに設定された部分属性のコピーも更新されます (ただし、画像ではありません)。

    1. レプリケーションはすべてのパートナーから正しく完了します。宛先ドメイン コントローラーとソースはすべて PAS に対して同じ属性を持っているためです。

      レプリケーションはすべてのパートナーから完了します。

データ収集

Microsoft サポートからの支援が必要な場合は、「 Active Directory レプリケーションの問題に TSS を使用して情報を収集する」で説明されている手順に従って情報を収集することをお勧めします。