設(shè)置最大連接數(shù)

創(chuàng)新互聯(lián)為您提適合企業(yè)的網(wǎng)站設(shè)計?讓您的網(wǎng)站在搜索引擎具有高度排名,讓您的網(wǎng)站具備超強的網(wǎng)絡(luò)競爭力!結(jié)合企業(yè)自身,進行網(wǎng)站設(shè)計及把握,最后結(jié)合企業(yè)文化和具體宗旨等,才能創(chuàng)作出一份性化解決方案。從網(wǎng)站策劃到成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè), 我們的網(wǎng)頁設(shè)計師為您提供的解決方案。
下面的T-SQL 語句可以配置SQL Server 允許的并發(fā)用戶連接的最大數(shù)目。
exec sp_configure 'show advanced options', 1
exec sp_configure 'user connections', 100
第一句用以表示顯示sp_configure 系統(tǒng)存儲過程高級選項,使用user connections 時,要求show advanced options 值為1。
第二句配置最大連接數(shù)為100,0 表示不限制,但不表示無限,后面將談?wù)劇?/p>
也可以在企業(yè)管理器中配置,在企業(yè)管理器中,可以在實例上點右鍵-“屬性”-“連接”里面更改。
需要重新啟動SQL Server,該值才會生效。
@@max_connections
select @@max_connections
它總是返回32767,它并不是指上面設(shè)置的user connections,實際上它表示user connections 最大可設(shè)置為多少。由于它的最大值是32767,那么user connections 為0 時,最大連接數(shù)也就是32767 了,并不是無限。
默認情況下user connections 值是0,也就是說默認情況下SQL Server 的最大連接數(shù)是32767。
獲得當前設(shè)置的最大連接數(shù):
select value from master.dbo.sysconfigures where [config]=103
1)不啟用連接池
當創(chuàng)建到101個連接的時候,就無法再創(chuàng)建新連接了。也就是說,如果連接字符串不做任何處理,我們的程序只能夠跟SQLServer建立101個連接。
2)啟用連接池
在連接字符串中加入代碼:
Pooling=true;Max Pool Size=40000;Min Pool Size=0;
微軟在MSDN上對最大連接數(shù)的定義是:“默認是0,代表不限制,但最大連接數(shù)是32767
1.通過管理工具
開始-管理工具-性能(或者是運行里面輸入
mmc)然后通過添加計數(shù)器添加
SQL
的常用統(tǒng)計
然后在下面列出的項目里面選擇用戶連接就可以時時查詢到數(shù)據(jù)庫的連接數(shù)了。不過此方法的話需要有訪問那臺計算機的權(quán)限,就是要通過Windows賬戶登陸進去才可以添加此計數(shù)器。
2.通過系統(tǒng)表查詢
SELECT?*?FROM
[Master].[dbo].[SYSPROCESSES]?WHERE?[DBID]?IN?(?SELECT
[DBID]
FROM
[Master].[dbo].[SYSDATABASES]
WHERE
NAME='DBName'
)
DBName
是需要查看的數(shù)據(jù)庫,然后查詢出來的行數(shù),就是當前的連接數(shù)。不過里面還有一些別的狀態(tài)可以做參考用。
例如:連到master這個數(shù)據(jù)庫寫如下語句
select?*?from?sysprocesses?where?dbid?in?(select?dbid?from?sysdatabases?where?name='MyDatabase')
將所有連接MyDatabase這個數(shù)據(jù)庫的連接記錄都求出來。
sysprocesses這個表記錄所以連接到SQL
SERVER數(shù)據(jù)庫的連接。
3.通過系統(tǒng)的存儲過程來查找
SP_WHO?'UserName'
UserName
是當然登陸Sql的用戶名,一般程序里面都會使用一個UserName來登陸SQL這樣通過這個用戶名就能查看到此用戶名登陸之后占用的連接了。
如果不寫UserName,那么返回的就是所有的連接。
1、獲取SQL Server允許同時用戶連接的最大數(shù)
SELECT @@MAX_CONNECTIONS
2、獲取當前指定數(shù)據(jù)庫的連接信息
SELECT * FROM master.dbo.sysprocesses WHERE dbid IN
(
SELECT dbid FROM master.dbo.sysdatabases
WHERE NAME='YourDataBaseName'
)
--根據(jù)需要更改YourDataBaseName
SELECT * FROM master.dbo.sysprocesses WHERE DB_NAME(dbid) = 'YourDataBaseName'
3、獲取當前SQL服務(wù)器所有的連接詳細信息
SELECT * FROM sysprocesses
以上查詢結(jié)果包含了:系統(tǒng)進程和用戶進程。
如果只是想查用戶進程的話則需采用下面的方法
4、獲取自上次啟動 SQL Server服務(wù) 以來連接或試圖連接的次數(shù)
SELECT @@CONNECTIONS
這個剛開始會有點誤解,認為是當前SQL Server服務(wù)器當前所有的連接數(shù)。需要重點注意。
打開 SQL Server Management Studio Express 使用超級用戶登錄。
輸入如下指令:
exec sp_configure 'show advanced options', 1
exec sp_configure 'user connections', 100
select value from master.dbo.sysconfigures where [config]=103
--第二次設(shè)置用戶并發(fā)連接200
exec sp_configure 'show advanced options', 1
exec sp_configure 'user connections', 200
select value from master.dbo.sysconfigures where [config]=103
返回結(jié)果
100
200
也就是說 你設(shè)置成100 就100,設(shè)置成200就200, 最大是 32767, 設(shè)置成 0 就是32767.
0 表示不受限。但是 sql檢索是返回0的。
---
以上只是理論:
實際上一般的小型服務(wù)器 能并行 60 就相當了不起了。
至強八核的CPU ,8G服務(wù)器內(nèi)存 ,2003 系統(tǒng) ,設(shè)置成 0 ,采用壓力測試了一番 最高也就 104上下。跟操作系統(tǒng)和硬件配置有關(guān)系的。
網(wǎng)站欄目:sqlserver鏈接數(shù),sql server連接數(shù)
分享地址:http://chinadenli.net/article11/dsshogd.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、網(wǎng)站策劃、企業(yè)建站、動態(tài)網(wǎng)站、網(wǎng)站導(dǎo)航、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)