設(shè)置最大連接數(shù)
成都創(chuàng)新互聯(lián)-專(zhuān)業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性?xún)r(jià)比枝江網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式枝江網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋枝江地區(qū)。費(fèi)用合理售后完善,10年實(shí)體公司更值得信賴(lài)。
下面的T-SQL 語(yǔ)句可以配置SQL Server 允許的并發(fā)用戶(hù)連接的最大數(shù)目。
exec sp_configure 'show advanced options', 1
exec sp_configure 'user connections', 100
第一句用以表示顯示sp_configure 系統(tǒng)存儲(chǔ)過(guò)程高級(jí)選項(xiàng),使用user connections 時(shí),要求show advanced options 值為1。
第二句配置最大連接數(shù)為100,0 表示不限制,但不表示無(wú)限,后面將談?wù)劇?/p>
也可以在企業(yè)管理器中配置,在企業(yè)管理器中,可以在實(shí)例上點(diǎn)右鍵-“屬性”-“連接”里面更改。
需要重新啟動(dòng)SQL Server,該值才會(huì)生效。
@@max_connections
select @@max_connections
它總是返回32767,它并不是指上面設(shè)置的user connections,實(shí)際上它表示user connections 最大可設(shè)置為多少。由于它的最大值是32767,那么user connections 為0 時(shí),最大連接數(shù)也就是32767 了,并不是無(wú)限。
默認(rèn)情況下user connections 值是0,也就是說(shuō)默認(rèn)情況下SQL Server 的最大連接數(shù)是32767。
獲得當(dāng)前設(shè)置的最大連接數(shù):
select value from master.dbo.sysconfigures where [config]=103
1)不啟用連接池
當(dāng)創(chuàng)建到101個(gè)連接的時(shí)候,就無(wú)法再創(chuàng)建新連接了。也就是說(shuō),如果連接字符串不做任何處理,我們的程序只能夠跟SQLServer建立101個(gè)連接。
2)啟用連接池
在連接字符串中加入代碼:
Pooling=true;Max Pool Size=40000;Min Pool Size=0;
微軟在MSDN上對(duì)最大連接數(shù)的定義是:“默認(rèn)是0,代表不限制,但最大連接數(shù)是32767
SQL SERVER 理論上有32767個(gè)邏輯連接,SQL SERVER根據(jù)系統(tǒng)自行調(diào)配連接池。
操作系統(tǒng)的用戶(hù)數(shù):即同時(shí)通過(guò)網(wǎng)絡(luò)連接到這臺(tái)電腦上面的用戶(hù)限制,以5用戶(hù)操作系統(tǒng),搭建的文件服務(wù)器為例,去同時(shí)訪問(wèn)這個(gè)文件服務(wù)器的網(wǎng)絡(luò)用戶(hù)為5個(gè)。
購(gòu)買(mǎi)數(shù)據(jù)庫(kù)有兩種方式:
1、根據(jù)用戶(hù)數(shù)購(gòu)買(mǎi)。
2、根據(jù)cpu個(gè)數(shù)購(gòu)買(mǎi)。
根據(jù)用戶(hù)數(shù)購(gòu)買(mǎi),假如購(gòu)買(mǎi)了一個(gè)50用戶(hù)的數(shù)據(jù)庫(kù),那么可以通過(guò)網(wǎng)絡(luò)訪問(wèn)數(shù)據(jù)庫(kù)的人數(shù)限制為50。
根據(jù)cpu個(gè)數(shù)購(gòu)買(mǎi)的數(shù)據(jù)庫(kù)訪問(wèn)人數(shù)不受限制,服務(wù)器上面有幾顆cpu就要買(mǎi)幾個(gè)授權(quán)的SQL
server,但是如果你只買(mǎi)一個(gè)授權(quán)的話數(shù)據(jù)庫(kù)也可以正常運(yùn)行,但是微軟認(rèn)為你的數(shù)據(jù)庫(kù)不合法。就如同盜版系統(tǒng)。
一個(gè)連接不等于一個(gè)用戶(hù),單獨(dú)一個(gè)用戶(hù)可以有超過(guò)一個(gè)的連接,單獨(dú)一個(gè)連接可以有超過(guò)一個(gè)用戶(hù)。
如何監(jiān)測(cè)SQLServer的連接數(shù):
SP_WHO 'loginName'
loginName
是當(dāng)然登陸Sql的用戶(hù)名,一般程序里面都會(huì)使用一個(gè)username來(lái)登陸SQL這樣通過(guò)這個(gè)用戶(hù)名就能查看到此用戶(hù)名登陸之后占用的連接了。如果不寫(xiě)loginName,那么返回的就是所有的連接。
既然連接數(shù)是可預(yù)測(cè)、可監(jiān)測(cè)的,那么就是可度量的,就可以根據(jù)實(shí)際情況來(lái)評(píng)估或測(cè)試程序的并發(fā)放量了。