web-dev-qa-db-ja.com

ロード後のSQL Server接続タイムアウトIIS Webサーバー

Windows 2008 r2で実行されているMSSQL 2008 R2があり、それはasp.netを実行している2つのサーバー2008 r2 Webサーバーにヒットしています。どちらもActive Directoryドメインに参加し、統合認証を使用してSQLサーバーに接続します。 IISアプリケーションプールにはユーザー名/パスワードが設定されています。これは、昨年かそこら問題なく動作しています。

最近、新しいWebサーバーを起動したいと思い、まったく同じWebサイトを実行する新しいWindows 2012 R2を構成し、IIS同じユーザー名/パスワードでアプリケーションプールを構成しました。テスト中ですが、サーバーに実際の負荷をかけるとすぐにIISが始まり、ハングアップが始まります。

私はメモリダンプを取り、その上で新しいDebugDiag 2.0分析を使用しましたが、SQL接続を開くと要求がハングしていたことがわかりました。

このスレッドはデータベース接続を開こうとしています

接続文字列は、データソース= 10.81.73.66;フェイルオーバーパートナー= 10.81.73.72;初期カタログ= XXXX;統合セキュリティ= True;最大プールサイズ= 6000;接続タイムアウト= 30;ネットワークライブラリ= dbmssocn;アプリケーション名= EntityFrameworkMUEおよび接続タイムアウトは30秒に設定されています。

分析では、かなりの数の例外が見られます。

接続タイムアウトの期限が切れました。ログイン前のハンドシェイクの確認応答を消費しようとしたときにタイムアウト期間が経過しました。これは、ログイン前のハンドシェイクが失敗したか、サーバーが時間内に応答できなかったことが原因である可能性があります。この障害は、プリンシパルサーバーに接続しようとしたときに発生しました。このサーバーへの接続試行中に費やされた時間は-[Pre-Login] initialization = 3342;でした。 handshake = 0;

何を試すかについてのアイデアはありますか?

6
Paul Lemke

統合セキュリティを削除することで、環境内の問題を解決し、接続文字列でユーザーIDとパスワードを指定しました。根本的な原因を見つけたことはありません。

1
Paul Lemke

ポール、

SQLサーバーのIPv4アドレスに対してTCP/IPが有効になっている可能性がありますが、IPv6は有効ではなく、新しいサーバーがIPv6を読み込もうとしている可能性があります。

SQLサーバーでIPv6を有効にしてみてください。

SQL Server構成マネージャー

  • ノードSQL Serverネットワーク構成を開きます
  • MYSQLINSTANCEのプロトコルをクリック
  • 右側で、TCP/IPを右クリックします。
  • プロパティをクリックします
  • [IPアドレス]タブを選択します
  • リストされている各IPアドレスについて、「アクティブ」と「有効」の両方が「はい」であることを確認します。
0
Dave Holland