SQL設定SQL Server最大連線數及查詢語句

今天遇到了關於Sql Server最大連線數(Max Pool Size)的問題,後來通過查詢一些資料解決了,所以想著總結下關於SQL Server最大連線數的內容,所以這篇文章主要介紹了SQL設定SQL Server最大連線數與查詢語句,有需要的朋友們可以參考借鑑。
一、設定最大連線數
下面的T-SQL 語句可以配置SQL Server 允許的併發使用者連線的最大數目。
?
1
2
exec sp_configure 'show advanced options', 1
exec sp_configure 'user connections', 100
第一句用以表示顯示sp_configure 系統儲存過程高階選項,使用user connections 時,要求show advanced options 值為1。
第二句配置最大連線數為100,0 表示不限制,但不表示無限,後面將談談。
也可以在企業管理器中配置,在企業管理器中,可以在例項上點右鍵->“屬性”->“連線”裡面更改。
需要重新啟動SQL Server,該值才會生效。
?
1
@@max_connections
?
1
select @@max_connections
它總是返回32767,它並不是指上面設定的user connections,實際上它表示user connections 最大可設定為多少。由於它的最大值是32767,那麼user connections 為0 時,最大連線數也就是32767 了,並不是無限。
預設情況下user connections 值是0,也就是說預設情況下SQL Server 的最大連線數是32767。
二、獲得當前設定的最大連線數:
?
1
select value from master.dbo.sysconfigures where [config]=103
三、如何監測SQLServer的連線數
?
1
2
3
4
5
6
7
8
/*查詢連線數*/
select loginame,count(1) as Nums
from sys.sysprocesses
group by loginame
order by desc
 
select spid,ecid,status,loginame,hostname,cmd,request_id
from sys.sysprocesses where loginame='' and hostname=''
方法二:
?
1
SP_WHO 'loginName'
loginName 是當然登陸Sql的使用者名稱,一般程式裡面都會使用一個username來登陸SQL這樣通過這個使用者名稱就能檢視到此使用者名稱登陸之後佔用的連線了。
如果不寫loginName,那麼返回的就是所有的連線。
既然連線數是可預測、可監測的,那麼它就是可度量的,那麼我們就可以根據實際情況來評估或測試程式的併發放量了。
總結
好了,以上就是這篇文章的全部內容了,有了這些,相信以上的困惑應該可以解開了吧。 希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

留言

這個網誌中的熱門文章

[MS-SQL] 利用資料庫的 Database mail 功能發送郵件 - 3.Send mail test

[MS-SQL]一些抓取資料庫結構及述敍用的 SQL