SQL Server 2008 Enterprise + C#+ ADO.Net + .Net3.5を使用しています。 sp_who2またはsys.dm_exec_connectionsを使用してアクティブな接続番号を検索しています(アクティブな接続番号を検索する方法が間違っているかどうかをお知らせください)。一部の重いデータベースコンシューマーアプリケーションの場合、アクティブな接続数が1000を超えることもあります。
SQL Serverのアクティブな接続数に上限があるかどうか疑問に思っていますか?
よろしくお願いします、ジョージ
これは、データベースごとではなく、インスタンスごとの構成です。 sys.configurations
で現在の値を確認し、 sp_configure
で変更できます。関連するオプションは user connections
:です。
ユーザー接続オプションを使用して、Microsoft SQLServerで許可される同時ユーザー接続の最大数を指定します。許可される実際のユーザー接続の数は、使用しているSQL Serverのバージョン、および1つまたは複数のアプリケーションとハードウェアの制限によっても異なります。 SQL Serverでは、最大32,767のユーザー接続が可能です。
1000の接続はそれほど多くはありません。ハイエンドシステムでは、サーバーは複数のポートでリッスンできます NUMAにアフィニエート ノードであり、各ノードに数百、数千のクライアントが接続されています。
接続の数はリクエストの数とは異なることに注意してください。何かをアクティブに実行している接続、 sys.dm_exec_requests 。各リクエストには1つ以上のワーカーが必要であり、ワーカーの数は max worker threads
オプションで構成されます。
http://msdn.Microsoft.com/en-us/library/ms143432.aspx
32,767は、データベースごとの最大制限です。
私はそれを次のようにします:
SELECT
COUNT(*)
FROM
master.dbo.syslockinfo
WHERE
DB_NAME(rsc_dbid) = 'your_database_name'