In a previous post I advised not taking snapshots of Server 2003/2008/R2 Domain Controllers. The reason was that reverting them to a previous snapshot could potentially corrupt AD.
With the launch of Server 2012 comes the ability to apply snapshots on Domain Controllers. This is made possible by VM Generation IDs.
The following video shows how snapshots are handled in Server 2012 Domain Controllers in Hyper-V. The video instructor is Paul Gregory, a Principal Technologist working for QA. I attended a Server 2012 training course he was instructing which was where I first learned about the VM Generation ID feature:
In a scenario whereby a reversion to a previously taken snapshot is initiated, Windows compares the VM Generation ID with the msDS-GenerationID attribute stored within the Domain Controller’s computer object in AD. If there are no differences between the two values the restore transactions proceed as normal. If they are different, the Domain Controller’s InvocationID is reset and RID pool is deleted to avoid creating objects with duplicate ID’s and it will enter recovery mode (just like a Non-Authoritative restore) and will receive replicated objects from other Domain Controllers to roll its database forward after which normal operation will resume.
This VM Generation ID feature helps to avoid AD problems such as replication failures and general corruption but is only possible when using Windows Server 2012 Hyper-V (see this link) or VMware ESXi version 5.0 build 821926 and above which is detailed here.