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 2 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
,那麼返回的就是所有的連線。
既然連線數是可預測、可監測的,那麼它就是可度量的,那麼我們就可以根據實際情況來評估或測試程式的併發放量了。
總結
好了,以上就是這篇文章的全部內容了,有了這些,相信以上的困惑應該可以解開了吧。 希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。
留言
張貼留言