this blog is for those who work on Microsoft SQL Server 2000 Enterprise and Windows 2003 Enterprise servers. I spent an afternoon troubleshooting a 2 node active/active cluster setup consisting of two DL 580 hp servers running Windows 2003 Enterprise and Microsoft SQL Server 2000. Kudo's for microsoft for making clustering drop dead simple, this isn't where the challenge is however. All my troubles began when I was trying to install the “first SQL default instance” on NODE A of the cluster. Below is a reference of Q articles and google articles I collected along the way. Hopefully this is helpful for those troubleshooting setup a cluster, none of which helped my problem but thought it good to pass along. I was a good little admin and followed all the directions in clustering, shutting down un-necessary services along the way, these are the list of services that should be running and everything else turned off.
On both the nodes stop all services in control panel services besides:
- Computer Browser
- Distributed File System
- Distributed Link Tracking Client
- Distributed Link Tracking Server
- DNS Client
- Event Log
- IPSEC Policy Agent
- License Logging Service
- Logical Disk Manager
- Net Logon
- NT LM Security Support Provider
- Network Connectors
- Plug and Play
- Process Control
- Remote Procedure Call (RPC) Locator
- Remote Procedure Call (RPC) Service
- Remote Registry Service
- Removable Storage
- RunAs Service
- Security Accounts Manager
- TCP/IP NetBIOS Helper
- Time Service
- Windows Management Instrumentation Driver Extensions
- Windows Time
Another big thing that normally bites me is initial setup of the service accounts that are used to run the cluster and sql services. These accounts are usually domain admins types and been granted four additional items in the machines local security policy (Logon as service, Act as part of Operating System, Logon Locally and part of the Administrators group. Now I'm sure there is a way to make these non-domain admin accounts but I've not gotten that far yet. I also verified in DNS the server names, instance names were also setup correctly. These are the quick easy things to do while doing clustering. I stared at these errors for hours below for hours.
and in the SQL logs
setup is performing required operations on
15:56:43 Setup is performing required operations on
cluster nodes. This may take a few minutes...
15:56:43 C:\WINDOWS\TEMP\SqlSetup\Bin\remsetup.exe C:\WINDOWS\remsetup.ini
15:57:30 Process Exit Code: (2) The system cannot find the file specified.
My problem ended up being during the installation of the first node I was choosing per processor licensing model instead of per user licensing mode. How dare me to chose the wrong licensing model. Once I chose per user licensing, SQL installed the default instance just fine and even the second named instance installed. I was able to reproduce the error either by trying to install a virtual server instance right out of the box on the first node or by first installing locally on the first node and then upgrading to a clustered instance. So for those reading this blog after swearing, searching for the needle in the hack stack, hopefully this little tip helps you out. It was a good exercise because now i do remember where all the SQL logs are when troubleshooting clustering. One of the Q articles listed below does cover what each sql log is in the c:\windows directory. SQL doesn't write very much of its errors to the windows event log, this is where i normally start when stuff goes haywire. In the end, i was able to get the cluster setup and even service packed with sql service pack 3a.
I followed this tip found found on google and changed my temp drive but still didn't help.this is a Q article somewhere but thought it was worth just posting up.
1) Check and see if the machine is configured to disallow 8.3 name creation
checking the following registry key:
A value of 1 means this is disabled and hence change it back to 0. This
reboot for it to take effect
2) Change the TEMP and TMP User Environment Variables to a path that does
spaces in them. For example: c:\temp. Use the SET command to verify the new
location is in effect. This does not require a reboot
Enable DTC Between Web Servers and SQL Servers Running Windows Server 2003
PRB: Installation of a Named Instance of SQL Server 2000 Virtual Server on a Windows 2003-Based Cluster Fails YOU HAVE too Follow this one or things will fail!
Finally, install won't work on clusters of more than four nodes.
PRB: Virtual SQL Server 2000 Installation Fails on Cluster That Has Eight
HOW TO: Troubleshoot the "Setup Failed to Perform Required Operations on the Cluster Nodes" Error