I need someone to help validate a strategy. I have a pair of Windows 2008 R2 server in a active/passive failover cluster with SQL Server 2012 installed.

I would like to upgrade the Windows OS to 2012 R2. I know that you cannot join a Windows 2012 R2 server to a 2008 R2 cluster. I thought about evicting a node and doing a fresh install of Windows 2012 R2 with cluster services, then detach the databases from SQL Server, destroy the 2008 R2 windows cluster, build the 2012 R2 cluster using the same name, IP, and SAN drives, then install SQL Server 2012 as a cluster using the same instance name and attaching the databases.

  • Out of curiosity, since you're going to Windows Server 2012R2, have you given any thought to using Availability Groups instead of WSFC/FCI? May 23, 2016 at 15:44
  • I thought about using availability groups, from what I understand you still need to have a windows failover cluster.
    – Aaron
    May 23, 2016 at 15:47
  • Yup, still need the cluster but it's orders of magnitude better than just doing the FCI (which I believe is what you are running). No shared storage, failovers take seconds and ensure no data loss. Are you using Enterprise Edition? May 23, 2016 at 15:48
  • I am using Enterrpise edition of Windows and Standard edition of SQL 2012. I have shared storage.
    – Aaron
    May 23, 2016 at 16:30
  • I did it. Starting from sql 2000 to sql 2014 (with a 2008 as bridge to upgrade db). I installed the new cluster, attached old lun, upgraded, renamed istance and changed ip to olds. I strongly suggest read also here: thomaslarock.com/2011/12/…
    – user_0
    May 24, 2016 at 7:56

1 Answer 1


Here are the steps that I followed to get a Windows 2008 R2 cluster hosting SQL Server to Windows 2012 R2.

In this example we have a 2 node Active / Passive cluster running Windows Server 2008 R2 Enterprise hosting SQL Server 2012 SP2 with CU6, this will work with any version of SQL Server.

Step 1: Document the following:

Drive letter mapping to shared storage on each node, NTFS Shared folders, IP Addresses for LAN and Heartbeat on each node, Name and IP address of the Windows Virtual Cluster Node, Name and IP address of the SQL Virtual Cluster Node, SQL version, patch level, and features installed, The location of the System Databases

Step 2: In Failover Cluster Manager – Evict the passive node, in this example Node 2 is the passive node.

Step 3: Rebuild Node 2 with Windows Server 2012 R2, using the same server name and IP address. Verify that Node 2 can see the shared storage, but do not make them online at this point.

Step 4: Stop the SQL Services on Node 1.

Step 5: Locate the folder containing the system databases and move them to a secure location. Make sure you get all the system database including TempDB, MSDB, report server, and distribution if you have replication.

Step 6: Shutdown Node 1.

Step 7: In Active Directory Users and Computers disable the accounts for the Windows Cluster Node and SQL Cluster Node.

Step 8: On Node 2, Create the Windows Failover Cluster using the previous Windows Cluster Name and IP. At this point the shared drives will be present, verify they have the correct drive letters.

Step 9: Install SQL Server as a cluster using the same name, IP address, include all features required.

Step 10: Patch SQL Server to the correct SP and CU.

Step 11: Stop the SQL Services using SQL Server Configuration Manager.

Step 12: Copy the system database files that you saved from Step 5 over top the system database files from this new installation.

Step 13: Start the SQL Services using SQL Server Configuration Manager, verify all databases and logins are available.

Step 14: Install Windows Server 2012 R2 on Node 1 and join the Windows Failover Cluster.

Step 15: Install SQL Server as a new node to the SQL Cluster, patch to correct level.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.