0

サーバーに接続する前に、すべてのドメインにSQLサーバーが存在するかどうかを確認する必要があります。SQLDataSourceEnumeratorを使用して、ローカルドメイン上のサーバーのリストをループできますが、ロードには数秒かかり、ローカルドメインのみを取得します。SQL Server 2005および2008サーバーと、.Net 2010を使用しています。サーバーが存在しない場合に標準と思われる30秒以上のタイムアウトに接続して、待機することは望ましくありません。

どんな提案も役に立ちます。

4

1 に答える 1

1

より短いタイムアウトで接続してみてください。接続文字列でタイムアウトを設定できます。

Connect Timeout=2;

これより速くチェックすることはできません。リモートエンドポイントにSQLServerがない場合、TCP接続は応答を受信せず、タイムアウトします。(否定的な)応答がないため、サーバーがまったくないのか、非常に遅いサーバーなのかがわかりません。

したがって、タイムアウトは、サーバーがリッスンしているかどうかを判断するために実行できる最善の方法です。

于 2012-11-04T14:09:26.163 に答える