Compartilhar via


Server TCP provider failed to listen on [IP Address]. Tcp port is already in use.

Consider the following scenario:

You try to start the SQL Server service at a cluster node or at a standalone machine, after the SQL Server service was stopped.

The service fails to start and you see these messages or similar ones logged in the ERRORLOG:

Server TCP provider failed to listen on [IP Address]. Tcp port is already in use.

TDSSNIClient initialization failed with error 0x271d, status code 0xa. Reason: Unable to initialize the TCP/IP listener. An attempt was made to access a socket in a way forbidden by its access permissions.

TDSSNIClient initialization failed with error 0x271d, status code 0x1. Reason: Initialization failed with an infrastructure error. Check for previous errors. An attempt was made to access a socket in a way forbidden by its access permissions.

Could not start the network library because of an internal error in the network library. To determine the cause, review the errors immediately preceding this one in the error log.

SQL Server could not spawn FRunCM thread. Check the SQL Server error log and the Windows event logs for information about possible related problems.

These messages indicate that the port of SQL Server is used by another process.

So you collect a netstat output to see which ports are used by which application (default port for SQL Server is 1433):

netstat -a -n -b

and you see that the 1433 port is used by a process running at a remote machine (remote IP address):

Local Address Foreign Address State

TCP   
0.0.0.0:1433 0.0.0.0:0 LISTENING

[services.exe]

TCP   

[IP Address]:1433 [IP Address]:Port ESTABLISHED

[services.exe]

After logging on to the remote machine and killing these sessions, the SQL Server service can start without errors.

The root cause for this scenario is that another application or service has taken control of the port before SQL Server starts. In this case it was the services console. Although port 1433 is reserved for use by SQL Server, Winsock applications may still use random ports above 1024 and therefore may happen to bind to port 1433. Obviously this is a very rare occurrence and the stars must be properly aligned for this issue to affect your environment.

To avoid this kind of issue, you may Bind the Port to certain IP address:

https://technet.microsoft.com/en-us/library/cc771629.aspx

https://msdn.microsoft.com/en-us/library/bb909657(v=vs.90).aspx

 To get more information how to bind the port, you should contact your Network administrator.