Microsoft Knowledge Base Article
This article contents is Microsoft Copyrighted material.
©2005-©2007 Microsoft Corporation. All rights reserved.
Terms
of Use |
Trademarks
Article ID: 307197 - Last Review: February 28, 2006 - Revision: 8.5
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
This article was previously published under Q307197
SYMPTOMS
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Â
(http://kbalertz.com/Feedback.aspx?kbNumber=293107/
)
TCP\IP port in use by another application
319578Â
(http://kbalertz.com/Feedback.aspx?kbNumber=319578/
)
Error message when you change the IP address on a SQL Server failover cluster node: "Bind failed"
312935Â
(http://kbalertz.com/Feedback.aspx?kbNumber=312935/
)
FIX: SQL Server fails to bind TCP/IP port at startup
308091Â
(http://kbalertz.com/Feedback.aspx?kbNumber=308091/
)
BUG: Hide Server option cannot be used on multiple instances of SQL Server 2000
WORKAROUND
Important This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base:
322756Â
(http://kbalertz.com/Feedback.aspx?kbNumber=322756/
)
How to back up and restore the registry in Windows
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.
MORE INFORMATION
For more information, click the following article number
to view the article in the Microsoft Knowledge Base:
286303Â
(http://kbalertz.com/Feedback.aspx?kbNumber=286303/
)
Behavior of SQL Server 2000 network library during dynamic port detection
293107Â
(http://kbalertz.com/Feedback.aspx?kbNumber=293107/
)
TCP\IP port in use by another application
APPLIES TO
- Microsoft SQL Server 2000 Standard Edition
- Microsoft SQL Server 2005 Standard Edition
- Microsoft SQL Server 2005 Developer Edition
- Microsoft SQL Server 2005 Enterprise Edition
Community Feedback System
Very often, it takes hours to solve a problem. Very often, you've looked high
and low, and have tried a lot of solutions. When you finally found it, chances
are, it was because someone else helped you. Here's your chance to give back.
Use our community feedback tool to let others know what worked for you and what
didn't.
Please also understand that the community feedback system is not warranted to be
correct, it's simply a system that we've built to let people try and help each
other. If something in a feedback response doesn't make sense to you, or you're
not comfortable making changes that the feedback talks about (like registry
edits), please consult a professional.
Thank you for using kbAlertz.com Feedback System.
-- Scott Cate
Be the first to leave feedback, to help others about this knowledge base
article.
(Optional) Name
(Optional)
Public URL Or Email
Comments
No
HTML -- Text Only Please