BUG: You may not be able to connect to an instance of Microsoft SQL Server 2000 Desktop Engine SP3a after you enable the server network libraries (827204)



The information in this article applies to:

  • Microsoft SQL Server 2000 Desktop Engine (MSDE) SP3a

Bug #: 469996 (SQL Server 8.0)

SYMPTOMS

When you try to connect to an instance of Microsoft SQL Server 2000 Desktop Engine Service Pack 3a (also known as MSDE 2000 SP3a) you may not be able to connect to the instances successfully, and you may receive the following error message:

[DBMSLPCN]SQL Server does not exist or access denied.
[DBMSLPCN]ConnectionOpen (Connect()).

This problem may occur when you try to connect to an instance of MSDE 2000 SP3a after you enable the TCP/IP server network library or the Named Pipes server network library for the instance by using the Server Network Utility from SQL Server Enterprise Manager.

This problem may also occur for an instance of Microsoft SQL Server 2000 that was upgraded from MSDE 2000 SP3a.

WORKAROUND

To work around this problem, follow these steps:
  1. Disable the server network libraries.
  2. Start the Server Network Utility from the command line and use the Server Network Utility to enable the required server network libraries.

    Note Do not use the Server Network Utility from SQL Server Enterprise Manager to enable the server network libraries.
To start the Server Network Utility from the command line and to enable the server network libraries by using the Server Network Utility, follow these steps:

To enable the TCP/IP server network library

  1. Click Start, and then click Run.
  2. In the Run dialog box, type Svrnetcn.exe in the Open box, and then click OK.

    Note By default, the Svrnetcn.exe file is available in the following folder:

    Installation Drive/Program Files/Microsoft SQL Server/80/Tools/BINN
  3. Click OK.
  4. In the Server Network Utility dialog box, click the General tab.
  5. Select your instance of MSDE 2000 SP3a or SQL Server 2000 from the Instance(s) on this server list.
  6. In the Disabled Protocols list box, select TCP/IP, and then click Enable.
  7. In the Enabled Protocols list box, select TCP/IP, and then click Properties.
  8. In the <Server Name> - TCP/IP dialog box, type 0 in the Default Port box, and then click OK.
  9. In the Server Network Utility dialog box, click OK.

    Note You may receive a message that states that the changes made will be saved but the changes will take effect only after you restart the SQL Server service. In the Server Network Utility message box, click OK.
  10. Restart your instance of MSDE 2000 SP3a, or your instance of SQL Server 2000.

To enable the Named Pipes server network library

  1. Click Start, and then click Run.
  2. In the Run dialog box, type Svrnetcn.exe in the Open box, and then click OK.

    Note By default, the Svrnetcn.exe file is available in the following folder:

    Installation Drive/Program Files/Microsoft SQL Server/80/Tools/BINN
  3. In the Server Network Utility dialog box, click the General tab.
  4. Select your instance of MSDE 2000 SP3a, or your instance of SQL Server 2000 from the Instance(s) on this server list.
  5. In the Disabled Protocols list box, select Named Pipes, click Enable, and then click OK.

    Note You may receive a message that states that the changes made will be saved but the changes will take effect only after you restart the SQL Server service. In the Server Network Utility message box, click OK.
  6. Restart the SQL Server service of the instance of MSDE 2000 SP3a, or the instance of SQL Server 2000.

MORE INFORMATION

When you disable the network protocols for an instance of MSDE 2000 SP3a, and you then upgrade the instance to SQL Server 2000, the network protocols of the upgraded instance of SQL Server may also be disabled. You can use the Server Network Utility to enable or to disable the network protocols of the upgraded instance of SQL Server.

However, if you enable the TCP/IP protocol and the Named Pipes protocol and you then set the TCP/IP server network library properties by using the Server Network Utility in SQL Server Enterprise Manager, attempts to connect to the instance of SQL Server may fail.

Steps to reproduce the behavior

  1. Install a named instance of MSDE 2000 SP3a with the DISABLENETWORKPROTOCOLS switch set to 1. To do so, follow these steps:
    1. Open a command prompt.
    2. Move to the MSDE 2000 SP3a installation folder, and then run the following command at the command prompt:
      setup /i <Absolute path of the Windows Installer Package file> INSTANCENAME=<Instance name> 
      SAPWD=sa DISABLENETWORKPROTOCOLS=1 /l*v c:\msdelog.txt
      Note Replace Instance name and Absolute path of the Windows Installer Package file with the name of your SQL Server and the name of the Windows Installer Package file path.
  2. In SQL Server Enterprise Manager, register your instance of MSDE 2000 SP3a.
  3. In the SQL Server Enterprise Manager window, locate and then right-click your instance of MSDE 2000 SP3a, and then click Properties.
  4. In the SQL Server Properties (Configure) - <Instance Name> dialog box, click Network Configuration.
  5. In the Server Network Utility dialog box, click the General tab.
  6. In the Disabled Protocols list box, select TCP/IP, and then click Enable.
  7. In the Disabled Protocols list box, select Named Pipes, and then click Enable.
  8. In the Enabled Protocols list box, select TCP/IP, and then click Properties.
  9. In the <Server Name> - TCP/IP dialog box, type 0 in the Default Port text box, and then click OK.
  10. In the Server Network Utility dialog box, click OK.

    Note You may receive a message that states that the changes made will be saved but the changes will take effect only after you restart the SQL Server service. In the Server Network Utility message box, click OK.
  11. Restart the instance of MSDE 2000 SP3a.
  12. Open Registry Editor, and then verify whether the value of the following registry key is empty:

    HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\[Instance Name]\MSSQLServer\SuperSocketNetLib\Np
  13. Connect to the instance of MSDE 2000 SP3a by using the osql utility. To do so, follow these steps:

    If your instance of MSDE 2000 SP3a is running on the local computer, open a command prompt, and then run the following code:

    osql -E -S (local)\[InstanceName]

    If your instance of MSDE 2000 SP3a is running on a remote computer, open a command prompt, and then run the following code:

    osql -E -S [Server]\[InstanceName]

    Note You may notice that the connection attempts to your instance of MSDE 2000 SP3a fail, and you receive the error message that is mentioned in the "Symptoms" section.

REFERENCES

For additional information about the server network libraries, visit the following Microsoft Web site:



For additional information, click the following article numbers to view the articles in the Microsoft Knowledge Base:

814130 How to help secure network connectivity for SQL Server 2000 local databases

308766 FIX: Enabling TCP/IP through the Server Network Utility may not enable the server to listen on TCP/IP


Modification Type:MajorLast Reviewed:11/12/2004
Keywords:KbClientServer kbnetwork kbRegistry kbenable kbUpgrade kberrmsg kbbug KB827204 kbAudDeveloper