3.6.5.2.1 Full Synchronization

Full database synchronization is performed if the corresponding Boolean value (AbstractFullSamSynchronizationNeeded, AbstractFullBuiltinSynchronizationNeeded, or AbstractFullLsaSynchronizationNeeded) is TRUE. If F is set in the NegotiateFlags, the backup domain controller (BDC) MUST call NetrDatabaseSync2; otherwise the BDC will call NetrDatabaseSync until all changes are obtained for the corresponding database. After successfully receiving the changes, the BDC MUST update local database to bring it in sync with the PDC. The BDC MUST update the value of the abstract database serial number for the corresponding database (AbstractSamDatabaseSerialNumber, AbstractBuiltinDatabaseSerialNumber, or AbstractLsaDatabaseSerialNumber) and the abstract database creation time (AbstractSamDatabaseCreationTime, AbstractBuiltinDatabaseCreationTime, or AbstractLsaDatabaseCreationTime) to equal to the corresponding value from the PDC as follows:

  • The values are set depending on the value of the DeltaType field of the last NETLOGON_DELTA_ENUM (section 2.2.1.5.11) element in the Deltas field of the NETLOGON_DELTA_ENUM_ARRAY (section 2.2.1.5.12) structure that is one of the following values:

    • If DeltaType is AddOrChangeDomain, the abstract database serial number and the abstract database creation time values MUST set to the DomainModifiedCount and DomainCreationTime fields, respectively, of the NETLOGON_DELTA_DOMAIN structure (section 2.2.1.5.10).

    • If DeltaType is AddOrChangeLsaPolicy, the abstract database serial number and the abstract database creation time values MUST be set to the ModifiedId and DatabaseCreationTime fields, respectively, of the NETLOGON_DELTA_POLICY structure (section 2.2.1.5.19).