The UDP listener for multiple named instances may not be able to service requests in SQL Server 2000 (888529)



The information in this article applies to:

  • Microsoft SQL Server 2000 (all editions)


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 install two or more instances of Microsoft SQL Server 2000, the first instance that starts becomes the User Datagram Protocol (UDP) listener to service named-instance requests. The UDP listener may not be able to service requests if the following conditions are true:
  • Each SQL Server 2000 instance service is running under its own service account.
  • The service accounts are not members of the administrators group, or the service account of the first instance does not have extended permissions to read the registry hive of the other instance.

CAUSE

This problem occurs when the service account of the first instance has access to read only its own registry hive. Therefore, the UDP listener does not have access to the registry hive of the other instance to obtain information about that named instance.

RESOLUTION

To resolve this problem, you must grant the service account of the first instance Read access to the registry hive of the other named instance. The UDP listener service account must have Read access to the following registry subkey. In this registry subkey, <InstanceName> is the name of the other named instance:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<InstanceName>\MSSQLServer\SuperSocketNetlib

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.

To grant Read access to the service account of the first instance, follow these steps for the other SQL Server 2000 named instance:
  1. Click Start, click Run, type regedit, and then click OK.
  2. Locate the following registry subkey:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<InstanceName>\MSSQLServer\SuperSocketNetlib

    In this subkey, <InstanceName> is the name of the other named instance.
  3. On the Edit menu, click Permissions.
  4. Add each service account of the UDP listener to the Group or user names list.
  5. To grant Read access to each service account that you added in step 4, click to select the Read check box in the Allow column, and then click OK.
  6. Exit Registry Editor.

REFERENCES

For additional information about frequently asked questions about named instances, click the following article number to view the article in the Microsoft Knowledge Base:

260414 Frequently asked questions - SQL Server 2000 - multiple instances

For more information about running multiple instances of SQL Server 2000, visit the following Microsoft Developer Network (MSDN) Web site:

Modification Type:MajorLast Reviewed:11/24/2004
Keywords:kbtshoot kbprb KB888529 kbAudDeveloper kbAudITPRO