You may receive the "Cluster specific registry entries couldn't be written" error message when you try to install a virtual instance of SQL Server 2000 on the cluster nodes that are running Windows Server 2003 (872931)



The information in this article applies to:

  • Microsoft SQL Server 2000 (all editions), when used with:
    • the operating system: Microsoft Windows Server 2003

Important This article contains information about modifying the registry. Before you modify the registry, make sure to back it up and make sure that you understand how to restore the registry if a problem occurs. For information about how to back up, restore, and edit the registry, click the following article number to view the article in the Microsoft Knowledge Base:

256986 Description of the Microsoft Windows Registry

SYMPTOMS

When you try to install an instance of Microsoft SQL Server 2000 virtual server on the failover cluster nodes that are running Microsoft Windows Server 2003, you may notice that the SQL Server 2000 virtual server installation is not completed successfully. Additionally, you may receive the following error message:

An error occurred while creating virtual server resources for clustering. Cluster specific registry entries couldn't be written.
This error occurs when the SQL Server 2000 virtual server Setup program tries to create the virtual server resources on the remote nodes in the failover cluster.

CAUSE

The SQL Server 2000 virtual server Setup program could not access the registry settings on one or more of the nodes in the failover cluster because the appropriate groups or accounts do not have the necessary permissions on the Winreg subkey. For example, this problem occurs if the LOCAL SERVICE account does not have at least the Read permission on the Winreg subkey on the nodes.

You can locate the Winreg subkey in the following registry key:

HKEY_LOCAL_MACHINE\SYSTEM\CurentControlSet\Control\SecurePipeServers

RESOLUTION

To resolve this problem, you must make sure that the Winreg subkey is configured with the correct permissions on all the nodes that are participating in the failover cluster. To do this, follow these steps on each node that is participating in the failover cluster:

Warning If you use Registry Editor incorrectly, you may cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that you can solve problems that result from using Registry Editor incorrectly. Use Registry Editor at your own risk.
  1. Click Start, click Run, type regedit, and then click OK.
  2. In Registry Editor, right-click the following registry subkey, and then click Permissions:

    HKEY_LOCAL_MACHINE\SYSTEM\CurentControlSet\Control\SecurePipeServers\Winreg

  3. Make sure that the following Windows user groups and the Windows user accounts on the node appear in the Group or user names list and have these permissions:
    • Administrators group: Full Control and Read permissions
    • Backup Operators group: Read permission
    • LOCAL SERVICE account: Read permission
  4. Close Registry Editor.

MORE INFORMATION

When this problem occurs, you notice event messages in the Sqlstp.log SQL Server Setup log file that are similar to the following:
10:53:40 End Action : Run setup on cluster nodes 10:53:40 SetClusterSecuritySQL
(ServerName\UserName) and (NodeName\UserName) returned: 0 10:53:40 Begin Action : CreateVirtualServerResources 10:54:00 End Action : CreateVirtualServerResources 10:55:53 An error occurred while creating virtual server resources for clustering. Cluster specific registry entries couldn't be written.In the Sqlclstr.log SQL Server cluster Setup log file, you notice event messages that are similar to the following:
ExecuteQuery(command:<sp_addserver N'VirtualServerName',
local>) [sqlclusterSetup.cpp:2484] : 5 (0x5):
Access is denied. [sqlclusterSetup.cpp:96] : 5 (0x5):
Access is denied. [sqlclusterSetup.cpp:1425] : 50050 (0xc382): <<<FormatMessage failed: 317>>> Note By default, the Sqlstp.log file and the Sqlclstr.log file are stored in the %windir% folder.

Additionally, in the Cluster.log file, you may notice messages that are similar to the following:
00000a9c.00000130::2003/12/23-15:32:48.873 INFO [GUM] 
s_GumQueueLockingUpdate: 
completed update seq 4286	type 0 context 10 result 0
00000a9c.00000130::2003/12/23-15:32:48.873 INFO [GUM] 
GumpDoUnlockingUpdate 
releasing lock ownership
00000a9c.00000130::2003/12/23-15:32:48.889 INFO [GUM] 
s_GumCollectVote: collecting 
vote for type 0	context 12
000004fc.00000b18::2003/12/23-15:32:48.889 ERR  [RM] ResTypeControl: 
Error loading 
resource DLL 'gathercl.dll', error 126.
000004fc.00000b18::2003/12/23-15:32:48.889 WARN [RM] Error converting 
CLSIDFromProgID Prog ID gathercl.dll, error 2147746291.
000004fc.00000b18::2003/12/23-15:32:48.889 ERR  [RM] ResTypeControl: 
Error loading 
resource DLL 'gathercl.dll', COM error 0x800401f3...
00000a9c.00000130::2003/12/23-15:32:48.889 INFO [FM] 
RmLoadResourceTypeDll call failed 126
Note By default, the Cluster.log file is stored in the %windir%\Cluster folder.

REFERENCES

For additional information about issues that occur when you install SQL Server 2000 virtual server on Windows Server 2003 cluster nodes, click the following article numbers to view the articles in the Microsoft Knowledge Base:

815431 Installation of a named instance of SQL Server 2000 Virtual Server on a Windows 2003-based cluster fails

301520 SQL Server 2000 cluster does not install on Windows Server 2003-based computers where Terminal Services is installed


Modification Type:MinorLast Reviewed:4/7/2006
Keywords:kbpermissions kbResource kbRegistry kbClustering kberrmsg kbsetup kbtshoot kbprb KB872931 kbAudDeveloper kbAudITPRO