0

.NET を使用して Sql Server に接続し、次の 2 つのテストを行いました。

  1. オンになっているローカル サーバーに接続しようとしましたが、指定されたデータベースが存在しません。この場合SqlException、エラー番号でトリガー4060されます(指定されたユーザーでログインできません)
  2. プロセスが停止しているローカルサーバーに接続しようとしました。この場合 SqlException、エラー番号付きでトリガー-1されます (SQL Server への接続の確立中にネットワーク関連またはインスタンス固有のエラーが発生しました)。

どちらの場合も、接続文字列で 20 秒を指定したにもかかわらず、すぐに失敗します。私が待つように言った時間を、どのような状況で待ちますか?

4

2 に答える 2

3

なんとか接続できたようですが、ネットワークを待っているわけではありませんが、認証または承認の問題があります。それが接続タイムアウトの一部になるとは思いません接続タイムアウトの目的は、ネットワークの輻輳を処理することであり、認証の失敗を遅らせることではありません。

編集: 2 番目のケースでは、マシンは接続を積極的に拒否していると思われます。繰り返しますが、これはネットワークの輻輳ではありません。これは、接続タイムアウトが処理することを意図したものではありません。

于 2012-08-14T12:31:40.200 に答える
1

「永続的な」エラーが発生せずにその時間に達した場合にのみ、タイムアウトが発生するのを待ちます。問題を報告するのに時間がかかるのはなぜですか?

ネットワーク インフラストラクチャが遅い場合に発生する可能性があります。数回のリタイアが必要になる場合があります。

于 2012-08-14T12:32:42.963 に答える