zoukankan
html css js c++ java
sql server性能分析检测数据库阻塞语句
create
PROCEDURE
[
dbo
]
.
[
auto_checkblocks
]
AS
set
nocount
on
if
exists
(
select
*
from
master..sysprocesses
where
blocked
<>
0
)
begin
/**/
/*
show top blockers, but no duplicates
*/
select
'
请尝试使用KILL [SPID] 来杀进程
'
--
select '请尝试使用SP_LOCK [SPID]来显示锁信息,用OBJECT_NAME(ID)来显示锁对象名称或用sp_who [SPID] 来显示信息'
--
select '在使用OBJECT_NAME显示对象名称时请注意对应的db_id'
select
'
以下是引起阻塞的语句
'
select
distinct
'
进程ID
'
=
str
( a.spid,
4
),
'
进程ID状态
'
=
convert
(
char
(
20
), a.status ),
'
分块进程的进程ID
'
=
str
( a.blocked,
2
),
'
工作站名称
'
=
convert
(
char
(4
0
), a.hostname ),
'
执行命令的用户
'
=
convert
(
char
(2
0
),
suser_name
( a.uid ) ),
'
数据库名
'
=
convert
(
char
(2
0
),
db_name
(a.dbid ) ),
'
应用程序名
'
=
convert
(
char
(3
0
), a.program_name ),
'
正在执行的命令
'
=
convert
(
char
(2
6
), a.cmd ),
'
累计CPU时间
'
=
str
( a.cpu,
7
),
'
IO
'
=
str
( a.physical_io,
7
),
'
登录名
'
=
a.loginame,
'
执行语句
'
=
b.
text
from
master..sysprocesses a
cross
apply sys.dm_exec_sql_text(a.sql_handle) b
where
spid
in
(
select
blocked
from
master..sysprocesses )
and
blocked
=
0
order
by
str
(spid,
4
)
/**/
/*
显示阻塞牺牲品
*/
select
'
以下是被阻塞的等待执行的语句
'
select
'
进程ID[SPID]
'
=
str
( a.spid,
4
),
'
进程ID状态
'
=
convert
(
char
(2
0
), a.status ),
'
分块进程的进程ID
'
=
str
( a.blocked,
2
),
'
工作站名称
'
=
convert
(
char
(4
0
), a.hostname ),
'
执行命令的用户
'
=
convert
(
char
(
10
),
suser_name
( a.uid ) ),
'
数据库名
'
=
convert
(
char
(
10
),
db_name
( a.dbid ) ),
'
应用程序名
'
=
convert
(
char
(2
0
), a.program_name ),
'
正在执行的命令
'
=
convert
(
char
(
16
), a.cmd ),
'
累计CPU时间
'
=
str
( a.cpu,
7
),
'
IO
'
=
str
( a.physical_io,
7
),
'
登录名
'
=
a.loginame,
'
执行语句
'
=
b.
text
from
master..sysprocesses a
cross
apply sys.dm_exec_sql_text(a.sql_handle) b
where
blocked
<>
0
order
by
spid
end
else
begin
select
'
恭喜!当前没有阻塞,当前的进程信息如下.
'
,
convert
(
char
(
24
),
getdate
(),
13
)
select
'
进程ID
'
=
str
( spid,
4
),
'
进程ID状态
'
=
convert
(
char
(2
0
), status ),
'
分块进程的进程ID
'
=
str
( blocked,
2
),
'
工作站名称
'
=
convert
(
char
(4
0
), hostname ),
'
执行命令的用户
'
=
convert
(
char
(
10
),
suser_name
( uid ) ),
'
数据库名
'
=
convert
(
char
(
10
),
db_name
( dbid ) ),
'
应用程序名
'
=
convert
(
char
(2
0
), program_name ),
'
正在执行的命令
'
=
convert
(
char
(2
6
), cmd ),
'
累计CPU时间
'
=
str
( cpu,
7
),
'
IO
'
=
str
( physical_io,
7
),
'
登录名
'
=
loginame
from
master..sysprocesses
where
blocked
=
0
order
by
spid
end
return
查看全文
相关阅读:
图文详解——将本地项目上传到码云(gitee)远程仓库
mysql 查询正在执行的sql
MySql 缓冲池(buffer pool) 和 写缓存(change buffer) 转
SQLserver 查询某个表的字段及字段属性
FastDFS 客户端(二)
FastDFS 服务器(一)
C# WPF 正常的项目突然提示 当前上下文中不存在名称“InitializeComponent”
C# 程序自动重启的解决方法
Array知识点总结(一)
JavaScript中为false的情况归档
原文地址:https://www.cnblogs.com/zping/p/1211617.html
最新文章
2019-5-9
2019-5-8训练
LeetCode 29. 两数相除 时间击败【100.00%】 内存击败【76.25%】
有符号数 无符号数 原码 补码 反码 java用补码表示
leetcode 27. 移除元素 【时间击败100.00%】【内存击败84.67%】
Java 堆排序
牛客 二叉树中和为某一值的路径 【时间19ms】【内存9560k】
leetcode 98. 验证二叉搜索树 【一遍dfs】【时间击败99.72%】【内存击败94.23%】
leetcode 94. 二叉树的中序遍历【时间击败99.19%】 【内存击败39.48%】
leetcode 814. 二叉树剪枝 【时间击败100.00%】【 内存击败84.62%】
热门文章
leetcode 655. 输出二叉树 【时间击败100.00%】 【内存击败96.49%】
leetcode 310. 最小高度树 【时间击败70.67%】 【内存击败89.04%】
单向链表和双向链表的反转
选择、冒泡、插入排序,二分法和对数器
Tomcat总结
自定义Tomcat
行政区划全国省市区数据SQL(数据较多渲染较慢,请耐心等待~)
Java生产者消费者
Mysql中delimiter作用
用VS的dumpbin命令可以查看目标程序许的dll依赖项
Copyright © 2011-2022 走看看