Windows Server 2008ボックスでSQL Server 2008 R2 SP1を実行しています。Visual Studio 2010から次のことを実行する.NETスクリプトを実行しています。
- データベースに到達する
- 変更を加える
- 繰り返す
繰り返しの合計回数は150回ですが、100の接続で停止しているため、その理由はわかりません。単一のスレッドを使用するようにスクリプトを調整することもできますが、将来の参照のために知っておくと便利なため、最大接続設定がどこにないのかを知りたいと思います。
これまでに確認した場所は次のとおりです。
- Visual Studio 2010のSQL接続文字列(1000に設定されています)
- SSMSデータベースインスタンスの接続プロパティ(0 [無限]のユーザー接続に設定されます)
- Server 2008の情報をGoogleで検索したところ、100を超える接続を処理できるようです
SP_WHO2
論理接続に関する詳細情報を提供するコードをステップ実行し、接続の数が52で始まり、152の論理接続で「最大プール接続に達しました」というエラーでスクリプトエラーが表示されることを確認しました。- 使用する接続文字列を変更しました
Data Source=PerfSQL02;Initial Catalog=Masked;Integrated Security=True;Max Pool Size=1000
他にどこを確認すればいいのかわかりません。ここには可動部品がたくさんあることは知っていますが、どこかで最大プール設定が不足しているような気がします。
System.Data.SqlClient
デフォルトは100であり、これが接続プールの枯渇が見られる理由です)。