Installing multiple instances of SQL server without rebooting
Figured I'd make my first post not just an introduction, but also give some usefull information on SQL cluster installations that isn't documented very well.
Let's start with the introduction. I am Bertrand Rohrbock, 25 years old and working for Info Support as a DBA (Database Administrator) with a large insurance company in the Netherlands. I am in the team that runs one of the largest if not the largest SQL server farm in the Netherlands with nearly 200 instances serving over 3900 databases. My daily work varies from monitoring the status and performance of our servers and designing and implementing structural fixes to working with internal clients to make sure their solutions run well on our platform.
We currently run both SQL 2000 and SQL 2005 instances on our platform and are in the (slow) proces of migrating everything to SQL 2005. However as the release date of SQL 2008 is coming up pretty fast a lot of projects will skip the 2005 release and migrate directly to SQL 2008. Another product I work a lot with is Red Gate SQL Backup Pro and as we have some problems with this product and my colleagues like to dump all of them on me I'm likely to write about it some.
Beside all the technical aspects of the DBA life ( it's not a job, it's a way of life 😉 ) there's a lot of proces improvement going on as the organisation moves from CMM level 2 to 3. It's increasingly becoming a part of my job to make sure the proces is done right and as with all change this sometimes leads to frustrations for me or our clients which I might elaborate on occasionally on this blog.
Now for the usefull information: During the installation of two new instances on one of our production clusters the other day I ran into a problem. I am not sure if this problem exists in one form or the other with normal (non-clustered) installations !
SQL Server 2005 wants you to reboot the system it's installed on after installation, but I did not have this option at the time (even though the installation was during a maintenance window) and it works just fine without the reboot. However the installation puts the system in a 'reboot pending' state which is detected when installing a new instance. The setup gives a nice red cross at installation ( Pending Reboot Requirement ), but still gives the option to move on. However at the point in the installation where the nodes are selected the nodes on which another instance has been installed will be in the unavailable listbox and give the error 'a scc check failed on the node'.
The sollution is to delete (or rename if you're uncomfortable with deleting) the following registry key on both nodes and log out:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession
ManagerPendingFileRenameOperations
It's a good idea to do this after every installation even after installing a single instance. The pending reboot state does not only affect SQL Server, but the entire system, there can be problems with rolling out security patches for example. Obviously it's best to reboot the system after you're done installing, but this option is not always available. It should be best practise to leave the system in the state it was in before the installation.