數據庫連接情況查詢

--sp_who 可以指定數據庫名,查詢指定數據庫的連接情況
sp_who 
go
select  DB_NAME(database_id) dbname, login_name, t1.session_id, t1.request_id, t2.status, t1.start_time, host_name
from    sys.dm_exec_requests t1inner join sys.dm_exec_sessions t2 on t1.session_id = t2.session_id
go
--包含正在 Microsoft SQL Server 實例上運行的進程的相關信息。這些進程可以是客戶端進程或系統進程。若要訪問 sysprocesses,您必須位于 master 數據庫上下文中,或者必須使用由三部分構成的名稱 master.dbo.sysprocesses。
select * from sys.sysprocesses--查詢指定數據庫的連接情況
select  *
from    [Master].[dbo].[SYSPROCESSES]
where   [DBID] in ( select  [DBID]from    [Master].[dbo].[SYSDATABASES]where name='bpm')
go---數據庫系統所有請求情況
select  s.session_id, s.status, db_name(r.database_id) as database_name, s.login_name, s.login_time, s.host_name,c.client_net_address, c.client_tcp_port, s.program_name, r.cpu_time, r.reads, r.writes, c.num_reads,c.num_writes, s.client_interface_name, s.last_request_start_time, s.last_request_end_time, c.connect_time,c.net_transport, c.net_packet_size, r.start_time, r.status, r.command, r.blocking_session_id, r.wait_type,r.wait_time, r.last_wait_type, r.wait_resource, r.open_transaction_count, r.percent_complete,r.granted_query_memory
from    Sys.dm_exec_requests r with ( nolock )right outer join Sys.dm_exec_sessions s with ( nolock ) on r.session_id = s.session_idright outer join Sys.dm_exec_connections c with ( nolock ) on s.session_id = c.session_id
--where   s.session_id > 50
order by s.login_timego---哪個用戶連接數最多:
select  login_name, COUNT(0) user_count
from    Sys.dm_exec_requests r with ( nolock )right outer join Sys.dm_exec_sessions s with ( nolock ) on r.session_id = s.session_idright outer join Sys.dm_exec_connections c with ( nolock ) on s.session_id = c.session_id
where   s.session_id > 50
group by login_name
order by 2 descgo
---哪臺機器發起到數據庫的連接數最多:
select  s.host_name, c.client_net_address, COUNT(0) host_count
from    Sys.dm_exec_requests r with ( nolock )right outer join Sys.dm_exec_sessions s with ( nolock ) on r.session_id = s.session_idright outer join Sys.dm_exec_connections c with ( nolock ) on s.session_id = c.session_id
where   s.session_id > 50
group by host_name, client_net_address go--進程狀態
select  s.status, COUNT(0) host_count
from    Sys.dm_exec_requests r with ( nolock )right outer join Sys.dm_exec_sessions s with ( nolock ) on r.session_id = s.session_idright outer join Sys.dm_exec_connections c with ( nolock ) on s.session_id = c.session_id
where   s.session_id > 50
group by s.status
order by 2 descgo--查看數據庫阻塞情況
select  t1.resource_type as [lock type], db_name(resource_database_id) as [database],t1.resource_associated_entity_id as [blk object], t1.request_mode as [lock req]                          -- lock requested    , t1.request_session_id as [waiter sid]                      -- spid of waiter    , t2.wait_duration_ms as [wait time],( select    textfrom      sys.dm_exec_requests as r with ( nolock ) --- get sql for waiter    cross apply sys.dm_exec_sql_text(r.sql_handle)where     r.session_id = t1.request_session_id) as waiter_batch,( select    substring(qt.text, r.statement_start_offset / 2,( case when r.statement_end_offset = -1 then len(convert(nvarchar(max), qt.text)) * 2else r.statement_end_offsetend - r.statement_start_offset ) / 2 + 1)from      sys.dm_exec_requests as r with ( nolock )cross apply sys.dm_exec_sql_text(r.sql_handle) as qtwhere     r.session_id = t1.request_session_id) as waiter_stmt    --- statement executing now    , t2.blocking_session_id as [blocker sid]                --- spid of blocker    , ( select  textfrom    sys.sysprocesses as p with ( nolock ) --- get sql for blocker    cross apply sys.dm_exec_sql_text(p.sql_handle)where   p.spid = t2.blocking_session_id) as blocker_stmt, getdate() time
from    sys.dm_tran_locks as t1 with ( nolock ) ,sys.dm_os_waiting_tasks as t2 with ( nolock )
where   t1.lock_owner_address = t2.resource_addressgoselect  db_name(r.database_id) as database_name, COUNT(0) host_count
from    Sys.dm_exec_requests r with ( nolock )right outer join Sys.dm_exec_sessions s with ( nolock ) on r.session_id = s.session_idright outer join Sys.dm_exec_connections c with ( nolock ) on s.session_id = c.session_id
where   s.session_id > 50
group by r.database_id
order by 2 descgo--查看阻塞其他進程的進程(阻塞源頭)
select  t2.blocking_session_id,COUNT(0) counts
from sys.dm_tran_locks as t1 with(nolock) , sys.dm_os_waiting_tasks as t2 with(nolock)    
where t1.lock_owner_address = t2.resource_address
group by blocking_session_id
order by 2go
--被阻塞時間最長的進程
select top 10t1.resource_type as [lock type], db_name(resource_database_id) as [database],t1.resource_associated_entity_id as [blk object], t1.request_mode as [lock req]                          -- lock requested    , t1.request_session_id as [waiter sid]                      -- spid of waiter    , t2.wait_duration_ms as [wait time],( select    textfrom      sys.dm_exec_requests as r with ( nolock ) --- get sql for waiter    cross apply sys.dm_exec_sql_text(r.sql_handle)where     r.session_id = t1.request_session_id) as waiter_batch,( select    substring(qt.text, r.statement_start_offset / 2,( case when r.statement_end_offset = -1 then len(convert(nvarchar(max), qt.text)) * 2else r.statement_end_offsetend - r.statement_start_offset ) / 2 + 1)from      sys.dm_exec_requests as r with ( nolock )cross apply sys.dm_exec_sql_text(r.sql_handle) as qtwhere     r.session_id = t1.request_session_id) as waiter_stmt    --- statement executing now    , t2.blocking_session_id as [blocker sid]                --- spid of blocker    , ( select  textfrom    sys.sysprocesses as p with ( nolock ) --- get sql for blocker    cross apply sys.dm_exec_sql_text(p.sql_handle)where   p.spid = t2.blocking_session_id) as blocker_stmt, getdate() time
from    sys.dm_tran_locks as t1 with ( nolock ) ,sys.dm_os_waiting_tasks as t2 with ( nolock )
where   t1.lock_owner_address = t2.resource_address
order by t2.wait_duration_ms desc

  

轉載于:https://www.cnblogs.com/wolfocme110/p/7728814.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/251648.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/251648.shtml
英文地址,請注明出處:http://en.pswp.cn/news/251648.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

apachacxf項目使用@WebService報錯

首先去除已經導入的包那是因為我們要導入javaee的api,首先點擊最下面這個選擇自己電腦上的路徑然后就會自動導入上面的包,同時在jar庫上也會出現轉載于:https://www.cnblogs.com/fengnan/p/9311949.html

windows下redis 開機自啟動

1,在redis的目錄下執行(執行后就作為windows服務了)redis-server --service-install redis.windows.conf 2,安裝好后需要手動啟動redisredis-server --service-start 3,停止服務redis-server --service-stop 4&#xf…

Java中的屬性和方法

題目 實體類 測試類 轉載于:https://www.cnblogs.com/maoxiuying/p/9130361.html

《JavaScript》高級程序設計---第3章

3.基本概念 松散類型:所謂松散類型就是可以用來保存任何類型的數據。給未經聲明的變量賦值在嚴格模式下會導致拋出ReferenceError錯誤。Object本質上由一組無序的名值對組成。未經初始化的默認值就會取得undefined值。True和False都不是Boolean值,只是標識符。如果…

2019-06-13 Java學習日記之MySql

數據庫概述: 1、什么是數據庫,數據庫有什么作用? 數據庫就是存儲數據的倉庫,氣本質是一個文件系統,數據按照特定的格式將數據存儲起來,用戶可以對數據庫中的數據進行增加,修改,刪除及…

jquery 文件預覽功能

$(function() {$("#pic").click(function () {$("#upload").click(); //隱藏了input:file樣式后,點擊頭像就可以本地上傳$("#upload").on("change",function(){var objUrl getObjectURL(this.files[0]) ; //獲取圖片的路徑…

筆試小結---線程、進程

多進程:進程是資源分配的基本單位,它是程序執行時的一個實例。程序運行時,系統就會創建一個進程,并為它分配資源,然后把該進程放入進程就緒隊列,進程調度器選中它的時候就會為它分配CPU時間,程序開始真正運…

Spring security (一)架構框架-Component、Service、Filter分析

想要深入spring security的authentication (身份驗證)和access-control(訪問權限控制)工作流程,必須清楚spring security的主要技術點包括關鍵接口、類以及抽象類如何協同工作進行authentication 和access-control的實…

windows下手動安裝composer

1.下載compser.phar 地址 https://getcomposer.org/download/ 2.新建composer.bat 文件,寫入“php "%~dp0composer.phar" %*” 3.把composer.bat composer.phar 兩個文件放入 4.向環境變量里面寫人“;D:\phpStudy\php\php-5.4.45;D:\phpStudy\php\php-5…

寫更漂亮的javascript

用更合理的方式寫 JavaScript 目錄 聲明變量對象數組字符串函數箭頭函數模塊迭代器和生成器屬性變量提升比較運算符和等號代碼塊注釋空白逗號分號類型轉換命名規則聲明變量 1.1 使用let和const代替var 不會變的聲明用const//bad var $cat $(.cat)//good const $cat $(.cat)…

筆試小結---樹

平衡二叉樹(Balanced Binary Tree):又被稱為AVL樹,且具有以下性質:它是一棵空樹或它的左右兩個子樹的高度差的絕對值不超過1,并且左右兩個子樹都是一棵平衡二叉樹。 二叉搜索樹:是一顆二叉樹,可能為空;若非空,則滿足以下特征: 1.每個元素有一…

iOS 快速實現分頁界面的搭建

級別: ★★☆☆☆ 標簽:「iOS」「分頁」「QiPageMenuView」 作者: 沐靈洛 審校: QiShare團隊 iOS 快速實現分頁界面的搭建 項目中我們經常會遇到滾動分頁的設計效果,被用來對不同數據界面的展示進行分類。我們先可以來…

java中String的常用方法

java中String的常用方法 轉自:http://archer-zhou.iteye.com/blog/443864 java中String的常用方法1、length() 字符串的長度例:char chars[]{a,b.c};String snew String(chars);int lens.length();2、charAt() 截取一個字符例:char ch;ch&quo…

筆試小結---非對稱加密算法

非對稱加密算法需要兩個密鑰:公開密鑰(publickey)和私有密鑰(privatekey).公開密鑰和私有密鑰是一對,如果公開密鑰對數據進行加密,只有用對應的私有密鑰才能解密;如果用私有密鑰進行加密,那么只有用對應的公開密鑰才能解密. 非對稱加密算法的保密性比較好,它消除了最終用戶交換…

登錄令牌 Token 介紹

Token值介紹 token 值: 登錄令牌.利用 token 值來判斷用戶的登錄狀態.類似于 MD5 加密之后的長字符串. 用戶登錄成功之后,在后端(服務器端)會根據用戶信息生成一個唯一的值.這個值就是 token 值. 基本使用: 在服務器端(數據庫)會保存這個 token 值,以后利用這個 token 值來檢索…

java-number

通常,當我使用number類型的時候,我們可以使用原始數據類型例如byte,int,long,double等 int i 5000; float b 13.65; double m 0xaf; 所有包裝類(整型,長型,字節型,雙精度型,浮點型&a…

您的瀏覽器沒有獲得Java Virtual Machine(JVM)支持。可能由于沒有安裝JVM或者已安裝但是沒有啟用。請安裝JVM1.5或者以上版本,如果已安裝則啟用它。...

您的瀏覽器沒有獲得Java Virtual Machine(JVM)支持。可能由于沒有安裝JVM或者已安裝但是沒有啟用。請安裝JVM1.5或者以上版本,如果已安裝則啟用它。 https://www.java.com/zh_CN/download/faq/remove_olderversions.xml https://jingyan.baidu.com/article/6d704a13…

指令定義

restict&#xff1a;它告訴AngularJS這個指令在DOM中可以以何種形式被聲明。 E(元素&#xff09; <my-directive> </mydirective>A(屬性) <div my-directive“expression”> </div>C(類名) <div class“my-directive:expression;”> </div>…

MyBatis學習總結(9)——使用MyBatis Generator自動創建代碼

2019獨角獸企業重金招聘Python工程師標準>>> 由于MyBatis屬于一種半自動的ORM框架&#xff0c;所以主要的工作就是配置Mapping映射文件&#xff0c;但是由于手寫映射文件很容易出錯&#xff0c;所以可利用MyBatis生成器自動生成實體類、DAO接口和Mapping映射文件。這…

[BZOJ2125]最短路(圓方樹DP)

題意&#xff1a;仙人掌圖最短路。 算法&#xff1a;圓方樹DP&#xff0c;$O(n\log nQ\log n)$ 首先建出仙人掌圓方樹&#xff08;與點雙圓方樹的區別在于直接連割邊&#xff0c;也就是存在圓圓邊&#xff09;&#xff0c;然后考慮點u-v的最短路徑&#xff0c;顯然就是&#xf…