web-dev-qa-db-ja.com

SQL Server接続数の制限はありますか?

SQL Server 2008 Enterprise + C#+ ADO.Net + .Net3.5を使用しています。 sp_who2またはsys.dm_exec_connectionsを使用してアクティブな接続番号を検索しています(アクティブな接続番号を検索する方法が間違っているかどうかをお知らせください)。一部の重いデータベースコンシューマーアプリケーションの場合、アクティブな接続数が1000を超えることもあります。

SQL Serverのアクティブな接続数に上限があるかどうか疑問に思っていますか?

よろしくお願いします、ジョージ

19
George2

これは、データベースごとではなく、インスタンスごとの構成です。 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 オプションで構成されます。

26
Remus Rusanu

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'
3
Keith Adler