I'm currently trying to have SQL Server and Visual SVN started automatically on a VPS running Windows 2012. Until now it hasn't been a problem, but I switched to using an internal address. This is an address that is available through VPN. We connect to VPN and then have this internal address that we can use to connect to the server. Now this works well but the problem that I have is that services that need a socket on this address cannot start because it seems to be unavailable until a VPN connection is made from a client.
I modified the startup of the services to be "Automatic Delayed" instead of "Automatic" but that did not help. I was hoping the address would be available at that stage.
After starting I cannot start the services (SQL Server and VisualSVN). I use the applications for that, not the Services window. So for VisualSVN I right click on the server in the Visual SVN application and click "start" and for SQL Server I use the SQL Server Configuration Manager to start the database engine. It keeps failing until I connect over VPN. Then I can immediately start the mentioned services without a problem.
The event viewer shows the following:
SQL Server logs:
Server failed to listen on xxx.xxx.xxx.xxx <ipv4> xxxxx. Error: 0x2741. To proceed, notify your system administrator. TDSSNIClient initialization failed with error 0x2741, status code 0xa. Reason: Unable to initialize the TCP/IP listener. The requested address is not valid in its context. TDSSNIClient initialization failed with error 0x2741, status code 0x1. Reason: Initialization failed with an infrastructure error. Check for previous errors. The requested address is not valid in its context. 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 FRunCommunicationsManager thread. Check the SQL Server error log and the Windows event logs for information about possible related problems.
Visual SVN logs:
make_sock: could not bind to address xxx.xxx.xxx.xxx:xxxx (OS 10049) The requested address is not valid in its context. no listening sockets available, shutting down Unable to open logs
I would like the services to come up at startup automatically. Now these services are unavailable after a reboot because once they failed to start, they won't be started when the address becomes available.