質問者
サーバーに要求を送信しているときに、トランスポートレベルのエラーが発生しました。への対処

質問
-
お世話になります。
表題の通りSQLクライアントからエラーが出ています。
また、エラーメッセージの続きとして(provider: TCPプロバイダ,error:0 -既存の接続はリモートホストに強制的に切断されました。)
というメッセージボックスが表示されます。
環境はWindows 10 Pro(1809)上にMS SQL Server Express 2016を構築し、SQLクライアントは別IPセグメントから接続しています。
何故か、本エラー事象はWindows Firewallを無効にすると発生しないため、一度Windows 10Pro(MS SQL Server)側の受信を全て許可にしてWindows Firewallを有効してみたのですが、再発してしまいます。
なにか、Windows Firewallで通信許可の追加が必要なのでしょうか?。
ご存知の方がいましたら、ご教示頂けると助かります。
- 編集済み nero777 2019年4月11日 5:29
すべての返信
-
nero777さん、こんにちは。フォーラムオペレーターのHarukaです。
MSDNフォーラムにご投稿くださいましてありがとうございます。
ファイアウォールでTCPポート1433(デフォルトインスタンス用)とUDPポート1434(SQL Server Browserサービス用)を開く必要があります。
レッスン 2:別のコンピューターからの接続をご参照ください。どうぞよろしくお願いします。
MSDN/ TechNet Community Support Haruka
ご協力くださいますようお願いいたします。また、MSDNサポートに賛辞や苦情がある場合は、MSDNFSF@microsoft.comまでお気軽にお問い合わせください。~ -
nero777さん、こんにちは。フォーラムオペレーターのHarukaです。
ご返信頂きありがとうございます。
>SQL Server側のFireWallの受信を全て許可していますので、TCPポート1433とUDPポート1434も含めた通信許可をしていると思いますが、どうでしょうか?
→通常はそうです。 アプリケーションがSQL Serverへの接続を開き、クエリの送信を見越してそれを開いたままにしておくと、その間にSQLが何らかの理由でその接続を強制終了します(サービスの再起動やkillコマンドの送信など)。
接続がコマンドを送信しようとすると、このエラーが発生します。
まずFireWallのログとWindowsのログ、次にSQL Serverのログを確認してください。
これらのログにメッセージが含まれていないか確認してください。
そして、UDLファイルを作成して、すべてのドライバでテストすることができます。
これは接続問題を解決する最も良い方法です。
UDLファイルを作成する手順
1.メモ帳を作成して、ファイル名:test.udl、ファイルの種類:すべてのファイルとして保存します。
2. test.udlのシンボルはテキストファイルではなくリンクのようなものです。
3. test.udlを開きます - >トラブルシューティングしたいプロバイダを選択します - >サーバー上とリモートサーバー上でローカルに接続をテストします。
どうぞよろしくお願いします。
MSDN/ TechNet Community Support Haruka
ご協力くださいますようお願いいたします。また、MSDNサポートに賛辞や苦情がある場合は、MSDNFSF@microsoft.comまでお気軽にお問い合わせください。~