我正在使用SQL Server 2008 Enterprise + C# + ADO.Net + .Net 3.5,使用sp_who2或sys.dm_exec_connections查找活动连接数(如果我的查找活动连接数的方法有误,请告诉我)。对于一些大型数据库消费应用程序,我甚至可以找到活动连接数> 1000。
我想知道SQL Server活动连接数是否有任何上限限制?
谢谢, 乔治
我正在使用SQL Server 2008 Enterprise + C# + ADO.Net + .Net 3.5,使用sp_who2或sys.dm_exec_connections查找活动连接数(如果我的查找活动连接数的方法有误,请告诉我)。对于一些大型数据库消费应用程序,我甚至可以找到活动连接数> 1000。
我想知道SQL Server活动连接数是否有任何上限限制?
谢谢, 乔治
这是一个按实例而非数据库配置的设置。您可以在sys.configurations
中检查当前值,并使用sp_configure
更改它。相关选项是user connections
:
使用“user connections”选项指定在 Microsoft SQL Server 上允许的最大并发用户连接数。实际上,允许的用户连接数也取决于您使用的 SQL Server 版本以及应用程序和硬件的限制。SQL Server 允许最多 32,767 用户连接。
1000个连接并不是一个过高的数字。在高端系统上,服务器可以监听多个口与 NUMA 节点关联,并且每个节点可以连接数百或数千个客户端。
请注意,连接数与请求数不同,即主动执行某些操作的连接数,sys.dm_exec_requests。每个请求需要一个或多个工作线程,而工作线程的数量是使用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'