3.1.1.7.2.3 Acquiring the PDC Role

When the PDC role is acquired through a FSMO role transfer, one of the following two predicates is true following the transfer:

  1. The new PDC's pdcChangeLog is in the reset state described in section 3.1.1.7.2.4

  2. All of the following are true:

    1. The new PDC's pdcChangeLog has the same ordering of entries for all entries that existed in the pdcChangeLog on the old PDC during the PDC role transfer.

    2. All updates to the state of objects in the domain NC replica of the old PDC are reflected in the state of objects in the domain NC replica of the new PDC when the transfer is complete.

    3. All updates to the state of objects in domain NC replica on the new PDC that are not present on the old PDC have a corresponding entry in the pdcChangeLog on the new PDC, as described in section 3.1.1.7.2.2.

    4. The SamNT4ReplicationUSN and BuiltNT4ReplicationUSN variables were increased by adding 0x1000000000 during the transfer.

When predicate (2) above is satisfied after a transfer, the transfer does not cause NT4 BDCs to perform a full synchronization (described in [MS-NRPC] section 3.6). The implementation satisfies predicate (2) above when possible.

Once the PDC role is acquired, the following two entries are added to the pdcChangeLog. This notifies NT4 BDCs that the PDC has changed. SamNT4ReplicationUSN and BuiltinNT4ReplicationUSN are updated prior to use in creating these entries.

pdcChangeLog entry

Field

Value

Entry 1

RelativeId

Flags

DbDelta

DbIndex

SerialNumber

0x0

CHANGELOG_SID

AddOrChangeDomain

0x0

SamNT4ReplicationUSN

Entry 2

RelativeId

Flags

DbDelta

DbIndex

SerialNumber

0x0

CHANGELOG_SID

AddOrChangeDomain

0x1

BuiltinNT4ReplicationUSN