SQL设置SQL Server最大连接数及查询语句
一、设置最大连接数
下面的T-SQL语句可以配置SQLServer允许的并发用户连接的最大数目。
execsp_configure'showadvancedoptions',1 execsp_configure'userconnections',100
第一句用以表示显示sp_configure系统存储过程高级选项,使用userconnections时,要求showadvancedoptions值为1。
第二句配置最大连接数为100,0表示不限制,但不表示无限,后面将谈谈。
也可以在企业管理器中配置,在企业管理器中,可以在实例上点右键->“属性”->“连接”里面更改。
需要重新启动SQLServer,该值才会生效。
@@max_connections
select@@max_connections
它总是返回32767,它并不是指上面设置的userconnections,实际上它表示userconnections最大可设置为多少。由于它的最大值是32767,那么userconnections为0时,最大连接数也就是32767了,并不是无限。
默认情况下userconnections值是0,也就是说默认情况下SQLServer的最大连接数是32767。
二、获得当前设置的最大连接数:
selectvaluefrommaster.dbo.sysconfigureswhere[config]=103
三、如何监测SQLServer的连接数
/*查询连接数*/ selectloginame,count(1)asNums fromsys.sysprocesses groupbyloginame orderby2desc selectspid,ecid,status,loginame,hostname,cmd,request_id fromsys.sysprocesseswhereloginame=''andhostname=''
方法二:
SP_WHO'loginName'
loginName是当然登陆Sql的用户名,一般程序里面都会使用一个username来登陆SQL这样通过这个用户名就能查看到此用户名登陆之后占用的连接了。
如果不写loginName,那么返回的就是所有的连接。
既然连接数是可预测、可监测的,那么它就是可度量的,那么我们就可以根据实际情况来评估或测试程序的并发放量了。
总结
好了,以上就是这篇文章的全部内容了,有了这些,相信以上的困惑应该可以解开了吧。希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。