http://community.spiceworks.com/how_to/show/57636-migrate-active-directory-from-server-2003-to-server-2012-r2

1.

Get your current environment ready – Part 1

Before we do anything we first want to make sure your domain is healthy.
You can easily do this by running the utility dcdiag which can perform a full diagnostic and report any issues it finds.

Once complete fix any issues you find before continuing.

http://technet.microsoft.com/en-us/library/cc949120%28v=ws.10%29.aspx

http://technet.microsoft.com/en-us/library/cc738415%28v=ws.10%29.aspx

2.

Get your current environment ready – Part 2

Before you can add a Windows Server 2012 or 2012 R2 server to your domain you have to make sure your current domain functional level is Server version 2003. If it is not 2003 you will have to raise it to (at minimum) 2003 before you can proceed.

Open Active Directory Users and Computers, right click on your domain and then select Raise Domain Functional Level. Then check the “Current Domain Functional Level” and make sure it says you are on Windows Server 2003.

3.

Locate which Domain Controller(s) have your FSMO Roles

Locate all 5 FSMO roles so you know which Domain Controllers are hosting them. Be sure to document exactly which domain controllers host them since we will be referencing this document later.
Their are a total of 5 roles you need to locate.
Schema Master
Domain naming master
Infrastructure Master
Relative ID (RID) Master
PDC Emulator

Details on each role and how to locate them are here:
http://support.microsoft.com/kb/324801

4.

Prepare your Domain for your new Server 2012 R2 Domain Controllers

You will want to run adprep so your domain schema can handle your new Server 2012 R2 Domain Controllers.

The command adprep is located on your Server 2012 disk under the \support\adprep directory. You will want to run the command adprep /forstprep from one of your Server 2003 Domain Controllers.

5.

Install Windows Server 2012 R2 and make it a Domain Controller

Previously you would run dcpromo to promote a domain controller. With Server 2012 and Server 2012 R2 dcpromo has been deprecated.

Now you add the AD DS role via the Add Roles and Features Wizard or via powershell. Here is a great step by step guide on what you need to do:
http://technet.microsoft.com/en-us/library/hh472162

After adding the AD DS role and DNS roles to your new Windows 2012 R2 Server simply click the link under Post-deployment configuration from your server manager titled “Promote this server to a Domain Controller”

Walk through the wizard and add your new domain controller to your existing domain.

6.

Transfer your FSMO Roles to your new Server 2012 R2 DC’s

Transfer all 5 of your roles to your new Server 2012 R2 Domain Controllers.

You can transfer all 5 or one at a time and start demoting your old Server 2003 DC’s in the next step. But the key to remember (and this is why you documented your FSMO role locations earlier) is you can NOT demote any of your current domain controllers that have any of your FSMO roles on them. Be sure to transfer them off first before you proceed to DC demotion.

http://blogs.technet.com/b/canitpro/archive/2013/05/27/step-by-step-active-directory-migration-from-windows-server-2003-to-windows-server-2012.aspx

7.

Demote your old Server 2003 Domain Controllers

Demotion is very easy on Server 2003. Just run dcpromo and walk through the steps.

Remember: Do NOT demote any domain controller that does not have FSMO roles on them.

http://technet.microsoft.com/en-us/library/cc740017%28v=ws.10%29.aspx

8.

Raise your Domain Functional Level

Once all your Server 2003 domain controllers are demoted you can now raise your domain functional level.

NOTE: Only raise your domain functional level to the oldest version domain controller on your domain. For example if all your domain controllers are 2012 R2 then you can go all the way to 2012 R2. However if you have a Server 2008 DC then you can only raise the functional level to 2008.

You can raise the functional level by opening Active Directory Domains and Trusts. Then right click on your domain and trusts and select “Raise Forest Functional Level”

http://technet.microsoft.com/en-us/library/cc730985.aspx