[解決済み] SQL Serverへの接続がうまくいかないことがある
質問
ADO.Net アプリケーションが、ローカル ネットワーク上の別のサーバーに接続できる場合があります。 ある接続が成功するか失敗するかはランダムなようです。 接続は、フォームの接続文字列を使用しています。
Server=THESERVERTheInstance;Database=TheDatabase;User Id=TheUser; Password=ThePassword.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX。
というエラーが返されます。
接続タイムアウトが切れました。 ログイン前のハンドシェイクの確認応答を消費しようとした際に、タイムアウト時間が経過しました。
これは、pre-login handshakeが失敗したか、サーバーが時間内に応答を返せなかったことが原因である可能性があります。
このサーバーに接続しようとしたときに費やされた時間は - [Pre-Login] initialization=42030; handshake=0;
.NETアプリケーションは、次のコードを実行する小さなテストアプリです。
using (SqlConnection conn = new SqlConnection(cs))
using (SqlCommand cmd = new SqlCommand("SELECT COUNT(*) FROM TheTable", conn))
{
conn.Open();
int rowCount = (int)cmd.ExecuteScalar();
}
テーブル は小さく、78行だけです。
しかし 同じマシン で、SSMS と接続文字列で指定されたユーザー ID/パスワードを使用して THESERVER に接続することができます。
ADO.Net アプリケーションからの接続は失敗するが、SSMS からの同一の資格情報では成功するのはなぜか。
どのように解決するのですか?
のIPv4アドレスではTCP/IPが有効になっているが、IPv6アドレスでは有効になっていないことがわかりました。
THESERVER
.
どうやら、いくつかの接続試行は IPv4 を使用して終了し、他の試行は IPv6 を使用して終了したようです。
両方の IP バージョンで TCP/IP を有効にすると、問題が解決しました。
SSMS が機能したという事実は、偶然であることが判明しました (最初の数回の試みはおそらく IPv4 を使用しました)。SSMS を介して接続するいくつかの後の試みは、同じエラー メッセージをもたらしました。
追加の IP アドレスのために TCP/IP を有効にすること。
- Sql Server 構成マネージャを起動します。
- SQL Server ネットワーク構成] ノードを開きます。
- MYSQLINSTANCE] の [プロトコル] を左クリックします。
- 右側のペインで、TCP/IP を右クリックします。
- プロパティ] をクリックします。
- IP アドレス] タブを選択します。
- リストされた各 IP アドレスについて、[Active] と [Enabled] が両方とも [Yes] であることを確認します。
関連
-
[解決済み] リンクサーバーとしてローカルデータベースを使用する場合、「Deferred prepare could not be completed」エラーが発生する。
-
[解決済み] SQL ServerでSELECTからUPDATEする方法とは?
-
[解決済み] SQL Server で複数行のテキストを 1 つのテキスト文字列に連結する方法
-
[解決済み] SQL Server テーブルにカラムが存在するかどうかを確認する方法は?
-
[解決済み] SQL Server の DateTime データ型から日付だけを返す方法
-
[解決済み] SQL ServerにおけるLEFT JOINとLEFT OUTER JOINの比較
-
[解決済み] SQL ServerでJOINを使用してUPDATE文を実行するにはどうすればよいですか?
-
[解決済み] SQL Server にテーブルが存在するかどうかを確認する
-
[解決済み】SQL Serverで既存のテーブルにデフォルト値を持つカラムを追加する
-
[解決済み] SQL ServerでINNER JOINを使用して削除するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] TABLOCKとTABLOCKXの比較
-
[解決済み] SQL Server の更新コマンドでエラー - "現在のコマンドで深刻なエラーが発生しました".
-
[解決済み] COUNTフィールドが正しくないか、構文エラーです。
-
[解決済み] 変数に値を代入するSELECT文は、データ検索操作と組み合わせてはいけません。
-
[解決済み] データセットに対するSSRSクエリの実行に失敗しました
-
[解決済み] SQL Server の .sql ファイルとは何ですか?
-
[解決済み] SQLのReplace関数内の正規表現?
-
[解決済み] SQL ServerでBegin / End BlocksとGoキーワードを使用する?
-
[解決済み] SQL ServerにおけるXOR
-
[解決済み] SQLサーバーを使用して文字列を切り詰める方法