Re: IIS, SQL 2000 & XP's Firewall
- From: "Rick Byham, MSFT" <rickbyh@xxxxxxxxxxxxx>
- Date: Mon, 15 Jun 2009 07:40:41 -0700
Yes, 14343 is a typo.
Queries to the Data Engine must go to the port that SQL Server is listening
on. SQL Server listens on TCP port 1433 by default, but only one instance
can listen on any port. The SQL Server error log will include the port
number so you can check it. But the default instance (your SQL Server 2000)
is probably the one using TCP 1433.
The SQL Server 2005 Browser service listens on UDP port 1434 where is uses
datagrams (the D in UDP) to tell the client the port number. SQL Server 2000
also used UDP port 1434 for the same purpose. But SQL Server 2005 knows how
to provide SQL Server 2000 info, so as long as the Browser is working, all's
well.
Yes, you will have to open those as exceptions in the firewall. If you don't
see exceptions for them, they probably aren't open and you should create the
exception.
More info: How to: Configure a Windows Firewall for Database Engine Access
http://msdn.microsoft.com/en-us/library/ms175043.aspx
--
Rick Byham, MSFT
(Implies no warranty or rights)
"Barry Flynn" <Anonymouse> wrote in message
news:uqBBlA76JHA.4116@xxxxxxxxxxxxxxxxxxxxxxx
Thanks Rick
SQL 2000 is SP3A.
It is the default instance.
The SQL 2005 Browser service is running (and apps in other virtual pc's
can connect with the SQL 2005 named instance.)
You asked if UDP port 1434 is open.
My notes (on how to connect to SQL 2005) say to open port tcp 1433 and udt
1434.
So I thought I would have done that. But I may have overlooked it.
Looking around the firewall screens, I can't see anything that
specifically tells me that those ports are open (I should add I'm not
entirely sure I know what I'm doing in those firewall screens.)
So it looks like I should specifically add those two ports as exceptions
in the firewall?
You referred to "port 14343".
Was that port number a typo?
Thanks Rick
Barry Flynn
"Rick Byham, MSFT" <rickbyh@xxxxxxxxxxxxx> wrote in message
news:OkyhLk36JHA.3592@xxxxxxxxxxxxxxxxxxxxxxx
Some ideas:
When you install SQL Server 2005, the SQL Server 2005 Browser service
takes over name resolution, seizing UDP port 1434. Your SQL Server 2000
has to be at least SP3 to understand that. So what's the SP level on SS
2000?
Is the SQL Server 2005 Browser Service started? And is UDP port 1434 open
on the firewall?
And is the SQL Server 2000 the default instance or a named instance?.
I suspect the programs that work understand that the SQL Server 2000 is
the default instance and just connect to TCP port 14343. And the SQLOLEDB
that doesn't work is trying to query UDP port 1434 to find out what port
the SQL Server is listening on.
So make sure that the TCP port that the SQL Server 2000 is using is open
on the firewall (possibly 1433), and also open UDP port 1434.
--
Rick Byham, MSFT
(Implies no warranty or rights)
"Barry Flynn" <Anonymouse> wrote in message
news:OkQGKNy6JHA.5008@xxxxxxxxxxxxxxxxxxxxxxx
Hi
Apologies if this is in the wrong forum.
I have SQL Server 2000 installed on my laptop.
SQL Server 2005 is also installed as a named instance, which I don't
think is relevant to my problem.
The laptop runs XP SP3.
I am running some apps from a Virtual PC which runs on the laptop.
The VPC runs XP SP2.
Both the laptop and the virtual PC are running XP's Firewall.
An asp page running on the VPC is unable to connect to SQL 2000, unless
the laptop's Firewall is turned off.
But. a VB6 screen using the same connection string can connect
regardless of whether the laptop firewall is on or off.
And another app (Microsoft Dynamics SL) can also connect to SQL 2000
regardless of whether the laptop's firewall is on or off.
I'm really curious why an asp page cannot connect to SQL 2000 while the
laptop firewall is on, but other apps don't have that problem.
pFirewall.log shows this
#Fields: date time action protocol src-ip dst-ip src-port dst-port size
tcpflags tcpsyn tcpack tcpwin icmptype icmpcode info path
2009-06-11 14:41:06 DROP TCP 192.168.15.97 192.168.15.65 1077 1433 48 S
15607536 0 65535 - - - RECEIVE
Global.asa contains this
Application("Provider") = "SQLOLEDB"
Application("DBName") = "TheDBName"
Application("ServerName") = "TheLaptop"
Application("SQLLoginID") = "TheUserId"
Application("Password") = "ThePassword"
Application("connStr") = "Provider=" & Application("Provider") & _
";Initial Catalog=" & Application("DBName") & _
";Data Source=" & Application("ServerName") & _
";User ID=" & Application("SQLLoginID") & _
";Password=" & Application("Password")
Thanks
Barry Flynn
.
- Follow-Ups:
- Re: IIS, SQL 2000 & XP's Firewall
- From: Barry Flynn
- Re: IIS, SQL 2000 & XP's Firewall
- References:
- IIS, SQL 2000 & XP's Firewall
- From: Barry Flynn
- Re: IIS, SQL 2000 & XP's Firewall
- From: Rick Byham, MSFT
- Re: IIS, SQL 2000 & XP's Firewall
- From: Barry Flynn
- IIS, SQL 2000 & XP's Firewall
- Prev by Date: Re: 10054:A transport-level error has occurred when sending the re
- Next by Date: DTC Through Firewall. Port Limitation Not Working
- Previous by thread: Re: IIS, SQL 2000 & XP's Firewall
- Next by thread: Re: IIS, SQL 2000 & XP's Firewall
- Index(es):
Relevant Pages
|