Evitare l'utilizzo del rollback USN

Se il dominio dispone di due o più controller di dominio ed è stato ripristinato uno dei controller o il relativo database, è necessario evitare una situazione nota come rollback USN.

Replica e USN

I dati di Active Directory vengono replicati continuamente tra i controller di dominio. In qualunque momento, lo stesso oggetto di Active Directory potrebbe presentare una versione più nuova su un controller di dominio e una versione più vecchia su un altro. Per impedire conflitti e perdite di informazioni, Active Directory consente di tracciare le versioni degli oggetti su ciascun controller di dominio e di sostituire le versioni obsolete con la versione aggiornata.

Per tracciare le versioni degli oggetti, Active Directory utilizza numeri chiamati numeri di sequenza di aggiornamento (USN). Le versioni più recenti degli oggetti di Active Directory corrispondono a USN più elevati. Ogni controller di dominio conserva gli USN degli altri controller di dominio.

Rollback USN

Dopo che si esegue un ripristino non autorevole di un controller di dominio o del suo database, l'USN corrente del controller di dominio viene sostituito dall'USN precedente (inferiore) dal backup. Ma gli altri controller di dominio non rilevano questo cambiamento. Essi conservano ancora l'ultimo USN noto (superiore) del controller di dominio.

Di conseguenza, si verificano i seguenti problemi:

Per evitare un rollback USN, è necessario notificare al controller di dominio il fatto che è in fase di ripristino.

Per evitare un rollback USN

  1. Subito dopo il ripristino di un intero controller di dominio o del suo database, avviare il controller di dominio ripristinato e premere F8 durante l'avvio.
  2. Alla schermata Opzioni di avvio avanzate, selezionare Modalità ripristino servizi directory.
  3. Accedere alla Modalità ripristino servizi directory (DSRM), aprire l'Editor del Registro di sistema, quindi espandere la seguente chiave di registro:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters

  4. In questa chiave di registro, esaminare il valore DSA Previous Restore Count. Se questo valore è presente, annotare la sua impostazione. Non aggiungere il valore se è assente.
  5. Aggiungere il seguente valore alla chiave di registro:
  6. Riavviare il controller di dominio in modalità normale.
  7. [Facoltativo] Dopo il riavvio del controller di dominio, aprire il Visualizzatore eventi, espandere Application and Services Logs e selezionare il registro Servizi directory. Nel registro Servizi directory, cercare una voce recente per Event ID 1109. Se si trova questa voce, fare doppio clic su di essa per assicurarsi che l'attributo InvocationID sia cambiato. Ciò significa che il database di Active Directory è stato aggiornato.
  8. Aprire l'Editor del Registro di sistema e verificare che l'impostazione del valore DSA Previous Restore Count sia aumentata di uno rispetto al passaggio 4. Se il valore DSA Previous Restore Count era assente nel passaggio 4, verificare che ora sia presente e che la sua impostazione sia 1.

    Se si osserva un'impostazione diversa (e non è possibile trovare la voce dell'evento Event ID 1109), assicurarsi che il controller di dominio ripristinato disponga dei Service Pack correnti e ripetere l'intera procedura.

Per ulteriori dettagli sugli USN e sul rollback USN, consultare il seguente articolo di Microsoft Technet: http://technet.microsoft.com/en-us/library/virtual_active_directory_domain_controller_virtualization_hyperv.aspx.