Unanswered: SQL Server 2005 remote connection failure
I'm having a big problem with a SQL 2K5 cluster (using standard edition). I can get onto the box and connect to the sql server locally fine. However when I try to connect remotely I get errors.
Let's call the two sides of the cluster, CL1 and CL2 and the "virtual server" is CL3. Locally I can connect without any problem at all to the SQL server, but I just can't connect to it from any remote machine.
The server in question is instance name LMS_PRD running on CL3, port 10051. TCP/IP is definitely enabled for local and remote connections (I have checked this in the SQL server surface area configuration). I can connect locally without any problem. Also, locally, if I do,
telnet CL3 10051
it connects fine
From a SQL 2000 box - when I try to connect from sql query analyzer, I get
"Unable to connect to server LMS_PRD Server Msg 17 ... SQL server does not exist or access denied"
Client network utility shows server alias - LMS_PRD, TCP/IP, CL3\LMS_PRD,10051
[I can connect to other SQL 2005 servers OK from this same server using this same method]
On this box, when I do telnet CL3 10051 , I get "Connecting to CL3...Could not open a connection to host on port 10051 : Connect failed"
[When I do a similar one for another SQL 2005 box, "telnet U01 10051", it connects fine]
From another SQL 2005 box - when I try to register the server, I get
"An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: TCP provider, error 0 - No connection could be made because thew target machine actively refused it.) (Microsoft SQL Server, Error: 10061)"
IN the SQL native client configuration it shows alias name - CL3\LMS_PRD, server=CL3\LMS_PRD, protocol tcp, parameters 10051
Again if I do telnet CL3 10051, I get the error above.
From this same box I can register another SQL 2005 server without any problem and do the telnet to it OK
Just to emphasise:
(a) The SQL server configuration manager shows that TCP/IP is enabled, and that 10051 is the port (in IPALL, TCP port). Also I have checked the SQL server errorlog - it is definitely using 10051 as the port.
(b) The SQL server surface area configuration shows under local and remote connections using both TCP/IP and named pipes selected (I've tried both this and the using tcp/ip only option)
Finally got to the bottom of this. It suddenly occurred to me that I hadn't looked in the event log, so I had a look and lo and behold: there was an error that suggested that the virtual server's IP address was not unique on the network! Looks like some sort of solaris machine was using the same IP address. I've changed it (impressed how easy it was - just a setting from the cluster administrator) and now all connectivity issues are gone.
I suppose the moral of the story is always to check the system logs first!