SQL Server Enterprise Edition 2005 32 bit on Windows Server 2003 Enterprise SP1
Consider a scenario where you are installing SQL Server 2005 Servce Pack 2 on a clustered environment. Sometimes you will notice that the installation get hung while installing the patch on the passive node, the setup screen will show you following message:
Awaiting first complete passive cluster node
The hung condition would prevail for unlimited period of time and eventually we end up killing the setup process. My research have identified a peculiar scenario wherein the setup calls a DOS command cmd /C dir HYPERLINK "file:///\\ServerName\DriveLetter$"\\ServerName\DriveLetter$". Ideally, this command shouldn’t take long time to complete. However, MS DOS has a feature which reads an environment variable called DIRCMD and applies the same to any blank dir commands. On the passive node of the cluster this was set to DIRCMD=/P/OGNE (under User or System environment variables).
Further I found that /p Displays one screen of the listing at a time. To see the next screen, press any key on the keyboard, [source: http://technet.microsoft.com/en-us/library/cc773112.aspx ]. In other words when cmd /C dir HYPERLINK "file:///\\ServerName\DriveLetter$"\\ServerName\DriveLetter$" was issued on the passive node, command prompt kept waiting for a key input to show the next listing which caused the setup on the passive node to hang.
To resolve this you can try to remove DIRCMD=/P/OGNE variable from both nodes of the cluster. To access environment variables you can go to My Computer > Right Click Properties > Advanced Tab > Environment Variables and search for DIRCMD under both user and system variables and delete it.
After this change the installation should run smoothly.
NOTE: This post should not be treated as the Microsoft’s Recommendation or Resolution to the problem, it is only a workaround which worked in our environment and so we would like to share it with you.
SE, Microsoft SQL Server
Shamik Ghosh and Sudarshan Narasimhan, Tech Lead, Microsoft SQL Server