master.dbo.syslockinfoからCOUNT(*)を選択しますWHERE DB_NAME(rsc_dbid)= 'your_database_name'
19
5
SQL Server 2008 Enterprise C#ADO.Net .NET 3.5を使用しています。 sp_who2またはsys.dm_exec_connectionsを使用してアクティブな接続番号を探しています(アクティブな接続番号を見つける方法が間違っているかどうかをお知らせください)。 データベースを大量に消費するアプリケーションでは、アクティブ接続数が1000を超える場合もあります。
SQL Serverのアクティブ接続数に上限の制限があるかどうか疑問に思いますか。
事前に感謝します、ジョージ
2 Answer
26
データベースごとではなく、インスタンスごとの構成です。 あなたは sys.configurations
で現在の値をチェックし、それをhttp://msdn.microsoft.com/en-usで変更することができます。 /library/ms188787.aspx [sp_configure
]。 関連するオプションは user connections
です。
Microsoft SQL Serverで許可される同時ユーザー接続の最大数を指定するには、ユーザー接続オプションを使用します。 実際に許可されるユーザー接続数は、使用しているSQL Serverのバージョン、およびアプリケーションまたはアプリケーションとハードウェアの制限によっても異なります。 SQL Serverでは、最大32,767のユーザー接続が許可されています。 __
1000の接続が極端に多い数ではありません。 ハイエンドシステムでは、サーバーは複数のポート affinitized to NUMAノードをリッスンし、数百、数千のクライアントを接続することができます。各ノード
接続数は_要求_の数とは異なることに注意してください。 接続がアクティブに何かを実行している、 sys.dm_exec_requests。 各リクエストは1人以上のワーカーを必要とし、ワーカーの数は max worker threads
オプションで設定されます。
3
データベースあたりの上限は32,767です。
次のようにします。
master.dbo.syslockinfoからCOUNT(*)を選択しますWHERE DB_NAME(rsc_dbid)= 'your_database_name'