web-dev-qa-db-ja.com

リクエストをサーバーに送信するときにトランスポートレベルのエラーが発生しました

私たちのVb.netアプリケーション(オフィス内のローカルネットワーク接続内で使用)では、これは長い間使用されており、一部のユーザーは1日たまにエラーを取得

要求をサーバーに送信するときに、トランスポートレベルのエラーが発生しました。 (プロバイダー:TCPプロバイダー、エラー:0-既存の接続がリモートホストによって強制的に閉じられました。

私はすでに以下をチェックしました

  1. すべてのデータベースは自動クローズオフに設定されています

  2. 多くのネットワークの問題を発見できず、ネットワークの速度は良好です。

  3. SSMSでチェックインしたとき、サーバープロパティのリモートクエリのタイムアウトが600秒に設定されました

  4. SQLサーバーログをチェックしましたが、それに関連するエラーや同じエラーメッセージは見つかりませんでした

では、このエラーの理由は何でしょうか?そして、それをトラブルシューティングする方法は?

7
IT researcher

アプリケーションがSQL Serverへの接続を(正常に)開き、(または「別の」可能性がある)クエリの送信を見越して開いたままにし、その間にSQLが何らかの理由(サービスの再起動、またはkillコマンドが送信された場合)、接続(開いていると考えられる)がコマンドを送信しようとすると、このエラーが発生します。

アプリケーションのエラーをキャッチして、再接続してください。その後、コマンドを再試行してください。

8
Rob Farley

なんらかの理由でネットワーク接続が数秒間さえ失われた場合、ほとんどこのエラーが表示されます。これは、誰かがケーブルを外した、不安定なwifi接続、不良ネットワークスイッチ、スリープ状態になるコンピューター(Win7以降ではデフォルトでオンになっている)、ネットワークドライバーを更新するWindowsの更新などです。

4

しばらく前に同じエラーに遭遇し、私の回答を投稿するつもりでしたが、ログインできず、単に忘れてしまいました。私は再びこの質問に出くわしました。そして、それは非常に曖昧であり、他のどこにもそれについての言及を見つけることができなかったので、私が思い出せる限りの私の答えを与えます。

このエラーは、何らかの形式の無効な日付をSPから.NET(およびその他のソース)に渡すと、MS-SQLデータベースから返されます。IIRC、.NET MinDate(つまり、 。デフォルト値)基本的に、日付パラメーターをチェックして、それらが適切であることを確認してください!

2
CorruptioN

アプリケーションでまったく同じエラーが発生しました。単一のトランザクションで多くのレコードを更新します。 SqlCommand.CommandTimeoutパラメータを増やすことでこれを修正しました。

0
user3175253