Important This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base: 322756 How to back up and restore the registry in Windows
You can use one of the following methods to work around this problem.
Modify the registry to grant read permissions to specific keys
For each instance of SQL Server 2000 that you installed after you installed SQL Server 2005, follow these steps:
- Click Start, click
Run, type regedit, and then click
OK. - Locate the following registry subkey:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\InstanceName
In this subkey,
InstanceName is the name of the instance of SQL Server 2000.
Note If you installed SQL Server 2000 as the default instance, the registry subkey is the following: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer
- On the Edit menu, click
Permissions. - Click Add, type
SQLServer2005SQLBrowserUser or type SQLServer2005SQLBrowserUser$ComputerName, and then click
OK.
Note The account group name SQLServer2005SQLBrowserUser may be SQLServer2005SQLBrowserUser$ComputerName on your computer. You can find this group name in Local Users and Groups in Computer Management. In this step, ComputerName in SQLServer2005SQLBrowserUser$ComputerName is the name of your computer. - Click to select the Read check box in the permission list for this user account, and then click
OK. - Quit Registry Editor, and then restart the SQL Server Browser service.
Note The permissions should be inherited by the child keys. If the permissions are not inherited, you have to explicitly grant the read permission to
SQLServer2005SQLBrowserUser or to
SQLServer2005SQLBrowserUser$ComputerName for the following keys, if they are present:
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<InstanceName>\CurrentVersion
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<InstanceName>\SuperSocketNetLib
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<InstanceName>\Cluster
Note In this subkey,
InstanceName is the name of the instance of SQL Server 2000.
If the
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<InstanceName>\SuperSocketNetLib registry subkey is not inherited, you must manually modify the underlying keys for this registry subkey.
Note SQL Server 7.0 did not have named instances. Therefore, the relevant registry key should have inherited the appropriate permission from the
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer registry subkey. However, if the permission has not been inherited, you must manually set the permission.
Explicitly specify the connection information in the connection string
When you connect to an instance of SQL Server 2000 or of SQL Server 7.0 from the client, you can explicitly specify the connection information in the connection string. You specify this information so that the connection information is not dependent on the information being returned by the server. For example, you can connect to the instance by using the command that similar to the following command when you use the Sqlcmd utility.
sqlcmd –S tcp:yourhost,1500