Why do I have to enable File and Printer sharing to connect through the XP firewall?



Hello,

I have a client app that connects to a remote instance of SQL Server 2005
Express. The client uses the SQL Browser to locate available SQL instances.

The SQL instance has Shared Memory, Named Pipes, and TCP/IP turned on, and
TCP/IP is configured to use a static port (5721).

The firewall on the SQL machine has the following exceptions: 1434 UDP (SQL
Browser) and 5721 TCP (SQL Server).

I have no problems locating the SQL instance using Management Studio or with
the SQL Browser in my client. However, I cannot connect either with
Management Studio or my client unless I also turn on the "File and Printer
Sharing" exception in the firewall. The BOL says that File and Printer
Sharing is required if using Named Pipes through the firewall, but I don't
understand where Named Pipes are being used when I try to connect.

In my client (C# app) I'm using the SQLConnection class with a very vanilla
connection string; the only addition the the port number of the SQL
instance.

Is SQLConnection using Named Pipes behind the scenes? Can someone explain
what's going on here and suggest how I might get around having to turn File
and Printer Sharing on?

Thanks!

Keith

P.S. Everything works fine if the firewall is turned off.


.



Relevant Pages