Microsoft KB Archive/318432

From BetaArchive Wiki
Knowledge Base


BUG: Cannot Connect to a Clustered Named Instance Through a Firewall

Article ID: 318432

Article Last Modified on 2/22/2007



APPLIES TO

  • Microsoft SQL Server 2000 Enterprise Edition



This article was previously published under Q318432

BUG #: 356696 (SHILOH_BUGS)

SYMPTOMS

If you try to connect a clustered named instance of SQL Server through a firewall, and you use only the instance name (for example, SQL_Virtual_Name\Instance_Name) in the connection string, the connection fails and you may receive one of the following error messages:

Specified SQL server not found.

-or-


SQL Server does not exist or access denied.

If you run a network trace on the server, you can see that the server actually receives the query from the client computer on UDP port 1434 for the virtual server IP address; however, the answer is sent with the physical IP address of the cluster node that is currently running SQL Server.

CAUSE

When a client computer connects to a computer that is running a clustered instance SQL Server, if the connection string does not specify the destination TCP port, the client library queries the server on port UDP 1434 to collect information about the instance.

When the server returns the information, the network frame contains the IP address of the physical node instead of the IP address of the virtual server. Depending on the firewall configuration, this network packet may be dropped, and the client may not receive any answer.

WORKAROUND

To work around this behavior you can either:

  • Specify the TCP port number in the connection string. For example, if your virtual SQL Server server is named VSERVER1, and it is listening on TCP/IP port number 2433, your connection string will contain the following attributes:

    Data Source=VSERVER1\instancename,2433;Network Library=dbmssocn

    -or-

  • Create a SQL Server alias on each client by using the Client Network Utility. In the alias, specify the Net-Library to use (TCP/IP), and the port number. Use this alias in your connection string, and do not specify the Network Library attribute in your connection string.


STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.

Keywords: kbbug kbpending KB318432