SQL Server cannot bind to the TCP/IP port on which SQL Server is listening when the TCP\IP port is used by another application (307197)
The information in this article applies to:
- Microsoft SQL Server 2000 (all editions)
- Microsoft SQL Server 2005 Standard Edition
- Microsoft SQL Server 2005 Developer Edition
- Microsoft SQL Server 2005 Enterprise Edition
This article was previously published under Q307197 SYMPTOMSImportant This article contains information about how to modify the
registry. Make sure to back up the registry before you modify it. Make sure
that you know how to restore the registry if a problem occurs. For more
information about how to back up, restore, and modify the registry, click the
following article number to view the article in the Microsoft Knowledge Base: 256986 Description of the Microsoft Windows registry When you fail over the SQL Virtual Server to
another node and then fail back to the original node, SQL Virtual Server
sometimes fails to bind to the port on which it is listening. SQL Virtual
Server then also fails to accept incoming connections on TCP/IP. When this type
of failure occurs, the following error messages are logged in the SQL Server
error logs: 2000-06-26 09:54:10.72 server
SuperSocket Info: Bind failed on TCP port 1433. 2000-06-26 09:54:10.74
server SQL server listening on Named Pipes. 2000-06-26 09:54:10.74 server
SQL Server is ready for client connections Note This behavior may also occur on non-clustered SQL Server 2000
computers, and on SQL Server 2005 computers. CAUSE There is another application that is running on the
computer, which takes control of the port on which SQL Server is listening. In
this case, the port is TCP port 1433. The problem also occurs in situations
where there is a heavy TCP/IP client load. This behavior has other
potential causes. If the workaround in this article does not resolve the
problem, see the following articles in the Microsoft Knowledge Base:
293107 TCP\IP port in use by another application
319578 Error message when you change the IP address on a SQL Server failover cluster node: "Bind failed"
312935 FIX: SQL Server fails to bind TCP/IP port at startup
308091 BUG: Hide Server option cannot be used on multiple instances of SQL Server 2000
WORKAROUNDWarning Serious problems might occur if you modify the registry
incorrectly by using Registry Editor or by using another method. These problems
might require that you reinstall your operating system. Microsoft cannot
guarantee that these problems can be solved. Modify the registry at your own
risk. To work around this problem, add a
SuperSocketNetlib\Tcp\TcpAbortiveClose
value in the registry key for the MSSQLServer for the particular instance. To
do this, follow these steps:
- Start Registry Editor (Regedt32.exe) from the command
line.
- Locate, and then click the following key in the registry:
- SQL Server 2000:
HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\MSSQLServer\SuperSocketNetlib\Tcp - SQL Server 2005:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft
SQL Server\MSSQL.x\MSSQLServer\SuperSocketNetLib\Tcp\
Note MSSQL.x is a placeholder for the
corresponding value for your system, you can locate
MSSQL.x from the value of the
MSSQLSERVER
registry entry in the following registry subkey. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft
SQL Server\Instance Names\SQL\
- On the Edit menu, point
to New, and then click DWORD Value.
- Type
TcpAbortiveClose, and then press ENTER.
- On
the Edit menu, click Modify.
- Click
Decimal, and then type 1 in the
Value data field.
- Quit Registry Editor.
Note If the registry key has been created and set to 1 in a SQL Server
2000 instance, it will migrate to the SQL Server 2005 location during instance
migration.
Modification Type: | Minor | Last Reviewed: | 2/28/2006 |
---|
Keywords: | kbprb KB307197 kbAudDeveloper |
---|
|