Upgrading SQL Server 2008 cluster to 2008 R2

Answered Upgrading SQL Server 2008 cluster to 2008 R2

  • Tuesday, August 02, 2011 11:21 AM
     
     

    We have SQL 2008 fresh install active/active cluster and we need to upgrade to SQL 2008 R2. I’m thinking of installing the 2008 R2 as a new install on top of the 2008 installation. Once the 2008 R2 installation completes, I will uninstall the 2008. Is this the right approach?  Please advice.

All Replies

  • Tuesday, August 02, 2011 11:26 AM
    Answerer
     
     
    If you install SQL Server 2008 r2 side by side that means it will have a named instance, so users need to specify computer\sqlserverinstance to connect to SQL Server (SQL Browser must be ruining up) . To resolve the 'problem'I think you need to use DNS(Alias) to point the new instance to the old... 
    Best Regards, Uri Dimant SQL Server MVP http://dimantdatabasesolutions.blogspot.com/ http://sqlblog.com/blogs/uri_dimant/
  • Tuesday, August 02, 2011 10:48 PM
     
     

    There is no harm in this approach:

    SQL Server 2008 and SQL Server 2008 R2 share the same major version of SQL Server and therefore share some SQL Server components. When installing an instance of SQL Server 2008 R2 on the same machine as an instance of SQL Server 2008, the shared components are upgraded to the latest version, in this case SQL Server 2008 R2. 

    Please refer the link:

    http://msdn.microsoft.com/en-us/library/ee210714.aspx

  • Wednesday, August 03, 2011 2:32 AM
     
     

    You can easily perform a side-by-side installation, however there are going to be some issues in a cluster:

    1. You need to present a separate set of LUNS for the new instance.  You cannot share the LUNS across multiple instances
    2. Client's will need to modify their connection strings to use the new instance
    3. DNS redirect may not work - because the new instance will be a named instance and you cannot set a DNS entry as {server}\{instance}

    In SQL Server 2008 and above, you perform the upgrade by running it on the passive node first - failing over, then upgrading the other node.  This is called a rolling upgrade and I would recommend looking this up and understanding how it works.  I would also recommend that you consider this option instead of side-by-side as it will be a lot less complex.

    Note: once you failover, you will not have a method of rolling it back.  So, again - review the documentation and understand the process thoroughly before moving forward.


    Jeff Williams
  • Thursday, August 04, 2011 12:12 AM
     
     

    Do you recommend uninstalling the current SQL Server 2008 installation on the passive and run the 2008 R2 upgrade afterword. Do you have a blog post or an article that explains some of these complex parts? Thank you!

  • Thursday, August 04, 2011 2:16 AM
     
     
    No - I would not recommend uninstalling anything.  Start here for the process to upgrade, there are links to the rolling upgrade process: http://msdn.microsoft.com/en-us/library/ms191295.aspx
    Jeff Williams
  • Thursday, August 04, 2011 2:23 AM
    Moderator
     
     Answered

    While I would spin up another SQL Server 2008 R2 Failover Cluster and move the database via mirroring, you can simply do an in-place upgrade from SQL Server 2008 to SQL Server 2008 R2 in a failover Cluster. Run the installation media on the standby node and do the upgrade of the SQL Server binaries. Once the upgrade process completes on the standby node, failover the resource so that the standby node becomes the active node. This will upgrade all of the databases. Then, repeat the upgrade process on the new standby node. Don't forget to backup all of the databases before the upgrade process starts and update the statistics after the upgrade. Check out this MSDN Documentation on Upgrading a SQL Server Failover Clustering Instance

    http://msdn.microsoft.com/en-us/library/ms191295.aspx 


    Edwin Sarmiento SQL Server MVP
    Blog | Twitter | LinkedIn
    • Proposed As Answer by John Eisbrener Thursday, August 04, 2011 1:43 PM
    • Marked As Answer by sqladventure Wednesday, August 10, 2011 12:01 PM
    •  
  • Monday, August 08, 2011 7:04 PM
     
     

    Please correct me if I am wrong, here is what I gathered so far:-

    1.      Failover node b to node a and run setup.exe for SQL Server 2008 R2 on node b

    2.      Do the above for node a

    3.  You have SQL 2008 R2 on node a & b

    My question is will it create a named instance and if it does, how can we avoid it?

    Please let me know. Thank you for your help.

  • Wednesday, August 10, 2011 8:12 AM
    Moderator
     
     

    Hi sqladventure,

    It seems that you are trying to perform an in-place upgrade as Edwin suggested. If that is the case, the operation just upgrades the components on this instance. In other words, it will not create a new SQL Server instance and just keep the existing instance name as the same.

     


    Best Regards,
    Stephanie Lv

    Forum Support
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.
  • Wednesday, August 10, 2011 3:53 PM
     
     Proposed

    Hi,

    Hopefully an easy question to answer:

    If I have a 2 node cluster (active/passive) with multiple SQL Instances, do I run the in-place upgrade for each instance on the passive node, fail-over, then run the upgrade for each instance on the other node?

    Sorry of this is a dumb question!

    Cheers

    • Proposed As Answer by supeng4896 Wednesday, September 19, 2012 6:33 PM
    •  
  • Monday, August 15, 2011 9:03 PM
    Moderator
     
     

    No, this is not a dumb question at all. And, yes, that is the case. For example, if you have ServerA and ServerB as nodes in your failover cluster and have SQL Server instances INSTA, INSTB and INSTC running. You would need to failover all of the instances on one of the nodes, say ServerA, and run the in-place upgrade on ServerB for all of the instances. This means running the setup.exe 6 times - once for each instance on all of the nodes


    Edwin Sarmiento SQL Server MVP
    Blog | Twitter | LinkedIn
  • Thursday, December 01, 2011 4:41 AM
     
     

    While I would spin up another SQL Server 2008 R2 Failover Cluster and move the database via mirroring, you can simply do an in-place upgrade from SQL Server 2008 to SQL Server 2008 R2 in a failover Cluster. Run the installation media on the standby node and do the upgrade of the SQL Server binaries. Once the upgrade process completes on the standby node, failover the resource so that the standby node becomes the active node. This will upgrade all of the databases. Then, repeat the upgrade process on the new standby node. Don't forget to backup all of the databases before the upgrade process starts and update the statistics after the upgrade. Check out this MSDN Documentation on Upgrading a SQL Server Failover Clustering Instance

    http://msdn.microsoft.com/en-us/library/ms191295.aspx 


    Edwin Sarmiento SQL Server MVP
    Blog | Twitter | LinkedIn


    You said "Once the upgrade process completes on the standby node, failover the resource so that the standby node becomes the active node" Are you sure? When you upgrade the passive node to 2008 r2, it is taken out of the possible owners list.  You upgrade the passive node first, then upgrade the active. When you upgrade the active, it will move the resources over automatically.

    I have done this a few times now and can tell you that with SQL 2008 R2 rtm, you cannot manually failover to an upgraded node. The setup will determine when to failover. The following below is from the msdn link  you posted. said.

    By default, Setup automatically determines when to fail over to an upgraded node. This depends on the total number of nodes in the failover cluster instance and the number of nodes that have already been upgraded. When half of the nodes or more have already been upgraded, Setup causes a failover to an upgraded node when you perform upgrade on the next node. Upon failover to an upgraded node, the cluster group is moved to an upgraded node. All the upgraded nodes are put in the possible owners list and all the nodes that are not yet upgraded are removed from the possible owners list. As you upgrade each remaining node, it is added to the possible owners of the failover cluster.


    Now, service packs work exactly as you said.
    • Edited by jrsqlguy Thursday, December 01, 2011 4:41 AM
    •