4/27/2006

Interesting issue I'm working on...

Company with SQL Servers all over the world applies MS06-014 and SQL Server 2000 SP4 close together.

Now none of their applications can make a TCP connection. Named Pipes is fine, but the application requires TCP.

Did all the normal stuff like checked the Server Network Utility (SNU), checked the firewalls to ensure the appropriate ports were open, explicity specified tcp in the servername (tcp:servername, port). No go.

Duh moment...check the SQL Server ERRORLOG. Nope...SQL Server was not listening on TCP, even though the SNU had it enabled. No errors in the log, or in the application log...just not listening on that protocol.

Resolution:
Check the value of the tcpport parameter in:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\SuperSocketNetLib\Tcp

In this instance, it was NULL. SNU was reporting 1433. Apparently SNU caches the port, or if the registry is NULL, it uses a default value to fill in the blank.

So we set the value manually, and all was good.

Lesson learned:
Check the ERRORLOG earlier in the process, and never trust a GUI.

Kevin3NF

No comments: