You cannot connect to a default instance of SQL Server 2005 through a firewall by using the SQL Server networking interface (SNI) (900487)



The information in this article applies to:

  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Standard Edition

SYMPTOMS

You try to connect to a default instance of Microsoft SQL Server 2005 through a firewall by using the SQL Server networking interface (SNI). However, the ports for the TCP/IP connection are not opened on the firewall during the first connection attempt. Therefore, the TCP/IP connection may time out and fail.

Additionally, Named Pipes are not used for the next connection attempt, and the connection fails again.

CAUSE

This problem occurs because the following conditions are true:
  • SQL Server 2005 does not write Named Pipes into the LastConnectionCache cache.
  • When you use the SNI to connect to a default instance, the LastConnectionCache cache is not used.

WORKAROUND

To work around this problem, use one of the following methods:
  • Configure the firewall to open the TCP/IP ports. This change allows for successful connections.
  • Use Named Pipes to connect to SQL Server 2005.

MORE INFORMATION

If you try to use the client-side network library for SQL Server (Dbnetlib.dll), you also experience this problem. However, SQL Server 2005 will fail over and write Named Pipes into the LastConnectionCache cache. When you try to make another connection, SQL Server 2005 tries the Named Pipes that were written into the LastConnectionCache, and the connection is successfully established.

Modification Type:MajorLast Reviewed:3/11/2006
Keywords:kbtshoot kbprb KB900487 kbAudDeveloper kbAudITPRO