亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

獲取SQL Server的當前連接數

瀏覽:9日期:2023-10-30 15:53:37

首先聲明:這個問題我沒有解決

當網友問到我這個問題時,我也還以為很簡單,以為SQL Server應該提供了對應的系統變量什么的.但是到目前為止,我還沒有得到一個比較好的解決方案.可能很簡單,,只不過我不知道罷了.希望如此..

下面我說說相關的知識吧.希望大家可以給出一個比較好的方法.

這里有幾個與之相關的概念.

SQL Server提供了一些函數返回連接值(這里可不是當前連接數喲!),個人覺得,很容易產生誤解.

系統變量

@@CONNECTIONS 返回自上次啟動 Microsoft® SQL Server™ 以來連接或試圖連接的次數。

@@MAX_CONNECTIONS 返回 Microsoft® SQL Server™ 上允許的同時用戶連接的最大數。返回的數不必為當前配置的數值。

系統存儲過程

SP_WHO

提供關于當前 Microsoft® SQL Server™ 用戶和進程的信息。可以篩選返回的信息,以便只返回那些不是空閑的進程。

列出所有活動的用戶:SP_WHO ‘active’

列出某個特定用戶的信息:SP_WHO ‘sa’

系統表

Sysprocesses

sysprocesses 表中保存關于運行在 Microsoft® SQL Server™ 上的進程的信息。這些進程可以是客戶端進程或系統進程。sysprocesses 只存儲在 master 數據庫中。

Sysperfinfo

包括一個 Microsoft® SQL Server™ 表示法的內部性能計數器,可通過 Windows NT 性能監視器顯示.

有人提議說為了獲取SQL Server的當前連接數:使用如下SQL:

SELECT COUNT(*) AS CONNECTIONS FROM master..sysprocesses

個人認為不對,看看.sysprocesses的login_time列就可看出.

另外一個方面是進程不能和連接相提并論,他們是一對一的關系嗎,也就是說一個進程就是一個連接?一個連接應該有多個進程的,所以連接和進程之間的關系應該是1:n的.

因為sysprocesses列出的進程包含了系統進程和用戶進程,為了得到用戶連接,可以使用如下SQL:

SELECT cntr_value AS User_Connections FROM master..sysperfinfo as pWHERE p.object_name = 'SQLServer:General Statistics' And p.counter_name = 'User Connections'

個人還是認為不對,因為它是一個計數器,可能會累加的.

還有一種方案是利用如下SQL:

select connectnum=count(distinct net_address)-1 from master..sysprocesses

理由是net_address是訪問者機器的網卡值,這個總該是唯一的吧.但是看起來得到的是所有時間內的連接數.

希望大家可以給出自己的解決方案.這個問題解決了,相信會有很大的用途.

http://confach.cnblogs.com/archive/2006/05/31/414156.html

標簽: Sql Server 數據庫
主站蜘蛛池模板: 黄色网在线免费观看 | 69成人做爰视频69 | 国产一区三区二区中文在线 | 国产成人av性色在线影院 | 日韩在线观看高清 | 欧美性视频网 | 成人免费福利网站在线看 | 日韩一级片免费观看 | 国产麻豆精品免费密入口 | 午夜影院在线观看视频 | 黄色片大全在线观看 | 99久久国语露脸精品国产 | 4444亚洲国产成人精品 | 日韩中文字幕免费版 | 欧美午夜一艳片欧美精品 | 国产不卡a| 99视频有精品视频免费观看 | 男女在线观看啪网站 | 黄色永久免费 | 色在线视频 | 玖玖国产精品视频 | 一区二区三区毛片免费 | 91精品久久久 | 亚洲精品二区中文字幕 | 成人 在线欧美亚洲 | 天天操夜夜爱 | 国拍在线精品视频免费观看 | 成人免费一级在线播放 | yjizz视频国产网站在线播放 | 日韩中文字幕在线亚洲一区 | 看黄色的网址 | 亚洲精品久久久久久久777 | 日本热久久| 性生活免费网站 | 国产精品真实对白精彩久久 | 国产专区一区 | 在线看国产 | 日韩精品一二三区 | 超级极品白嫩美女在线 | 美国一级特色大黄 | 久久天天躁狠狠躁夜夜中文字幕 |