
私は現在、Windows 2012を実行しているVPSでSQL ServerとVisual SVNを自動的に起動しようとしています。これまでは問題はありませんでしたが、内部アドレスです。これはVPN経由で利用できるアドレスです。VPNに接続して、内部サーバーに接続するために使用できるアドレスです。これでうまく動作しますが、問題は、クライアントから VPN 接続が確立されるまでこのアドレスは利用できないため、このアドレスのソケットを必要とするサービスを開始できないことです。
サービスの起動を「自動遅延" の代わりに "自動「しかし、それは役に立ちませんでした。その段階でアドレスが利用可能になることを期待していました。」
起動後、サービス (SQL Server および VisualSVN) を開始できません。そのためには、サービス ウィンドウではなくアプリケーションを使用します。VisualSVN の場合は、Visual SVN アプリケーションでサーバーを右クリックして [開始] をクリックし、SQL Server の場合は、SQL Server 構成マネージャーを使用してデータベース エンジンを開始します。失敗し続けます。VPN経由で接続するまでそうすれば、問題なく上記のサービスをすぐに開始できます。
イベント ビューアーには次のように表示されます。
SQL Server ログ:
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 ログ:
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
起動時にサービスが自動的に起動するようにしたいと思います。これらのサービスは、一度起動に失敗すると、アドレスが使用可能になっても起動されないため、再起動後には利用できなくなります。
答え1
最終的に、問題を回避するために、別の「固定」IP アドレスで SVN が利用できるように構成しました。
SQL の問題も、まったく同じ「固定」IP アドレスにバインドすることで解決されました。サーバーを再起動すると、IP アドレスにバインドされ、起動できるようになります。その後、VPN 接続が確立されると、「仮想」IP アドレスで使用できるようになります。