ときどき、サーバーは次のよく知られた例外をスローします。
タイムアウトになりました。操作が完了する前にタイムアウト期間が経過したか、サーバーが応答していません。
これは、サーバーが大きなリクエストを処理しているときにプレッシャーがかかると発生します。いくつかの調査を行ったところ、接続文字列の接続タイムアウト設定やSqlCommand.Timeoutデータ リーダーのプロパティを変更できることがわかりました。
デフォルトでは、sql コマンドのタイムアウトは30秒に、接続のタイムアウトは15に設定されており、これらをオーバーライドすることはありません。
コンテキストを再現し、失敗したリクエストを管理スタジオで手作業で実行しました。それらの持続時間は約 1秒で、常に30 をはるかに超えています。
しかし奇妙なことに、サーバー ログを見ると、この例外はリクエスト呼び出しの直後にスローされます。つまり、リクエストが実行され、1 ミリ秒後に例外が発生します。すみませんが、この8-oについて私のオタクの見方をさせてください。
完全にするために、SQL インスタンスは同期モードで別のインスタンスとミラーリングされます。テーブル アダプターを介して Ado.Net を使用します。