加入收藏 | 设为首页 | 会员中心 | 我要投稿 济源站长网 (https://www.0391zz.cn/)- 数据工具、数据仓库、行业智能、CDN、运营!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server – 最大连接池上限为100

发布时间:2021-01-11 04:07:16 所属栏目:MsSql教程 来源:网络整理
导读:我在 Windows Server 2008上运行SQL Server 2008 R2 SP1.我有一个从Visual Studio 2010运行的.NET脚本,它执行以下操作: 进入数据库 做出改变 迭代 它将迭代的总次数是150,但它停止在100个连接,我无法弄清楚原因.我可以调整我的脚本只使用一个线程,但我更愿意

我在 Windows Server 2008上运行SQL Server 2008 R2 SP1.我有一个从Visual Studio 2010运行的.NET脚本,它执行以下操作:

>进入数据库
>做出改变
>迭代

它将迭代的总次数是150,但它停止在100个连接,我无法弄清楚原因.我可以调整我的脚本只使用一个线程,但我更愿意知道我错过了最大连接设置的位置,因为知道将来参考会更有用.

这是我到目前为止检查的地方:

> Visual Studio 2010中的SQL连接字符串(设置为1000)
> SSMS数据库实例连接属性(它设置为0 [无限]用户连接)
>在Google Server上搜索了一些信息,看起来它可以处理超过100个连接
>逐步浏览我的代码和SP_WHO2,它提供了有关逻辑连接的更多信息,看到连接数从52开始,并且在152个逻辑连接处出现了“Max Pooled Connections reach”错误的脚本错误.
>更改连接字符串以使用Data Source = PerfSQL02; Initial Catalog = Masked; Integrated Security = True; Max Pool Size = 1000

我不确定在哪里检查,我知道我在这里有很多活动部件,但我感觉我只是错过了某个地方的最大泳池设置.

解决方法

SQL Server默认最多允许 32767 connections.它可以使用sp_configure进行更改.要查看此设置的当前配置,请使用以下查询:
select * from sys.configurations
where name ='user connections'

默认情况下,您应该看到最大值32767,value_in_use等于0(使用默认设置).如果已更改,则可以重新配置SQL Server以使用链接中所述的其他值.

您还应该检查实际连接的数量,因为应用程序外部可能有更多活动(或者您的应用程序正在建立比您想象的更多的连接).您将需要查看常规统计 – > perfmon中的逻辑连接或查询sys.dm_os_performance_counters中的值(cntr_value将显示当前时间点值):

select * from sys.dm_os_performance_counters
where counter_name ='User Connections'

(编辑:济源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读