- 浏览: 1036152 次
- 性别:
- 来自: 长沙
文章分类
- 全部博客 (639)
- 服务器配置篇 (58)
- hibernate篇 (14)
- spring篇 (33)
- struts篇 (28)
- JS篇 (46)
- 其他技术篇 (46)
- 数据库集群配置 (6)
- JAVA基础相关 (48)
- 分布式框架HadHoop的应用 (2)
- FLEX篇 (8)
- SQLSERVER技术 (32)
- Android学习 (13)
- amchart学习笔记 (1)
- openfire+smark搭建即时通讯 (9)
- Linux学习 (18)
- Oracle数据库 (15)
- 网站优化技术 (12)
- mysql数据库 (2)
- 项目学习总结 (18)
- 工具类(JAVA) (12)
- 工具类(JS) (2)
- 设计模式 (10)
- Lucene学习 (24)
- EJB3学习 (6)
- Sphinx搜索引擎 (3)
- 工作中用到的软件小工具 (5)
- .NET (49)
- JAVA 连接SQLSERVER2008步骤 (1)
- MongoDB (19)
- Android手机开发 (3)
- Maven (6)
- vue (9)
- Shiro (4)
- mybatis (3)
- netty框架 (1)
- SpringCloud (3)
- spring-cloud (7)
- Git (1)
- dubbo (2)
- springboot (13)
- rocketmq (1)
- git学习 (2)
- kafka服务器 (2)
- linux (10)
- WEB系统辅助项目 (1)
- jenkins (2)
- docker (4)
- influxdb (3)
- python (2)
- nginx (1)
最新评论
-
jiangfuofu555:
这样数据量大,效率怎么样?
sqlserver 实现分页的前台代码 以及后台的sqlserver语句 -
w156445045:
博主请问下,如何做到实时的刷新呢,
另外我后台是Java 谢谢 ...
web 版本的汽车仪表盘,非常好看。还有各种图形 -
jackyin5918:
<transportConnector name=&qu ...
ActiveMQ的activemq.xml详细配置讲解 -
握着橄榄枝的人:
你这个不是spring1.x的吧
spring1.x使用AOP实例 -
xiaophai:
全乱套了!
openfire+spark搭建完美的及时通讯
/*---------------------------------------------------------------------------------------
名称:sp_who_lock
功能:用来检测是否有死锁的进程,如果有,把造成死锁的进程ID,HostName, ProgramName 和执行的SQL
语句保存到表jobcn_boss_operlog.dbo.DeadLockLog
参数: @SaveToTable 用来标示是否保存死锁进程到表jobcn_boss_operlog.dbo.DeadLockLog
1 是, 0 否, 默认 = 0
@PrintRootCauseOnly 是否只显示造成死锁的根源进程信息
1 只显示死锁根源进程 0 除显示死锁根源进程外,还显示被阻塞的进程, 默认 = 0
时间:2010-10-11
版本:1.0
修改:
---------------------------------------------------------------------------------------*/
CREATE procedure dbo.sp_who_lock
@SaveToTable int = 0,
@PrintRootCauseOnly int = 1
as
begin
set nocount on
declare @spid int,@bl int,
@intTransactionCountOnEntry int,
@intRowcount int,
@intCountProperties int,
@intCounter int,
@HostName nchar(128),
@ProgramName nchar(128),
@SQLCmd as varchar(1000)
create table #tmp_lock_who (
id int identity(1,1),
spid smallint,
bl smallint)
create table #tmpSQL (EventType varchar(100),
Parameters int,
EventInfo varchar(2000))
IF @@ERROR<>0
RETURN @@ERROR
insert into #tmp_lock_who(spid,bl)
select 0 ,blocked
from (select * from sysprocesses where blocked>0 ) a
where not exists(select * from (select * from sysprocesses where blocked>0 ) b
where a.blocked=spid)
union select spid,blocked from sysprocesses where blocked>0
IF @@ERROR<>0
RETURN @@ERROR
-- 找到临时表的记录数
select @intCountProperties = Count(*),@intCounter = 1
from #tmp_lock_who
IF @@ERROR<>0
RETURN @@ERROR
if @intCountProperties=0
select N'现在没有阻塞和死锁信息' as message
-- 循环开始
while @intCounter <= @intCountProperties
begin
-- 取第一条记录
select @spid = spid,@bl = bl
from #tmp_lock_who where Id = @intCounter
begin
if @spid =0
print N'* 引起数据库死锁的是: '+ CAST(@bl AS VARCHAR(10)) + N'进程号,其执行的SQL语法如下'
else
begin
if @PrintRootCauseOnly <> 1
print N'进程号SPID:'+ CAST(@spid AS VARCHAR(10))+ N'被' + N'进程号SPID:'+ CAST(@bl AS VARCHAR(10)) +N'阻塞,其当前进程执行的SQL语法如下'
end
--Get bolocker's host name and program name
select @HostName = hostname, @ProgramName = program_name
from sysprocesses
where SPID = @bl
truncate table #tmpSQL
select @SQLCmd = 'dbcc inputbuffer(' + cast(@bl as varchar(10)) + ') with no_infomsgs'
insert into #tmpSQL exec(@SQLCmd)
select @SQLCmd = EventInfo from #tmpSQL
if @PrintRootCauseOnly <> 1 or @spid =0
begin
print @SQLCmd
print ' '
end
if @SaveToTable = 1 and @spid =0 --写入引起数据库死锁的进程号到jobcn_boss_operlog.dbo.DeadLockLog
insert into jobcn_boss_operlog.dbo.DeadLockLog
(SPID,HostName,ProgramName,SQLExec,FindDate) values
(@bl,@HostName,@ProgramName,@SQLCmd,getdate())
--DBCC INPUTBUFFER (@bl )
end
-- 循环指针下移
set @intCounter = @intCounter + 1
end
drop table #tmp_lock_who
drop table #tmpSQL
set nocount off
return 0
end
发表评论
-
sqlserve2000 关于100万数据查询优化
2014-11-23 21:09 997探讨怎么在有着1000万条数据的ms sql server数据 ... -
sqlserver2000触发器学习
2014-10-27 07:09 7951、 Sql代码 createtri ... -
sqlserver2008 评估到期解决方案
2012-03-15 08:44 1625和Visual Studio 2008一样,从官网下载SQL ... -
sqlserver 2008创建表分区
2011-11-24 16:31 859见附件 -
sqlserver 登陆企业管理器需要输入密码
2011-11-14 07:59 1095附件中有详细说明 -
JAVA 连接SQLSERVER2008步骤
2011-08-31 08:54 6586使用JDBC连接SQL SERVER 2008,很多人都在 ... -
sqlserver2008导出数据(新增)
2011-05-09 08:13 1680这个功能是sqlserver2000没有的。可以将数据脚本导出 ... -
安装完数据库以后,测试连接,提示端口错误的问题
2011-05-08 21:24 1649java.sql.SQLException: [Microso ... -
安装sqlserver的时候提示挂起操作,必须重启计算机的问题
2011-05-08 21:22 1665安装时提示说:“以前的某个文件已在安装计算机上创建挂起的文件操 ... -
SQL Server 2000 Enterprise Edition 日志传送温备方案
2011-02-20 09:44 1734'SQL Server 2000 Enterprise Edi ... -
通过存储过程直接访问服务器URL
2011-02-17 11:11 1457CREATE procedure ... -
sqlserver 常用函数大全
2011-02-14 17:31 1010sqlserver 常用函数大全 -
sqlserver 存储过程,函数,视图实例
2011-02-14 16:49 1107sqlserver 存储过程,函数,视图实例 -
对于批量删除某张表数据的做法技巧
2010-12-09 15:33 1122通过有JSP页面穿到存储过程中一连串的ID值,并且以,隔开。我 ... -
sql server 查询某个数据库中所有的任务执行状态
2010-12-06 11:25 3980xp_sqlagent_enum_jobs 参数: xp_ ... -
数据库表的转移心得体会和经验分享
2010-10-22 15:00 901开始设计一张表的时候,由于该表数据量逐渐增多。达到百万或千万的 ... -
一个关于查询性能的问题,在查询时间的时候是否应该用convert
2010-10-22 14:53 1063今天在做数据库表转移的时候,A表转移到B表。要将A表的2010 ... -
探讨SQL Server中Case 的不同用法
2010-10-18 08:34 1120CASE 可能是 SQL 中被误用最多的关键字之一。虽然你可 ... -
查找表中的重复数据
2010-08-27 09:32 947select * from person where ... -
查看死锁的SQL语句
2010-08-27 09:12 1561use master go declare @spid int ...
相关推荐
8.7 创建一个快速示例 8.7.1 创建数据库 8.7.2 添加数据库关系图和初始表 8.7.3 添加关系 8.7.4 添加一些约束 8.8 本章小结 8.9 练习 第9章 SQLServer存储和索引结构 9.1 SQLServer存储机制 9.1.1 数据库 9.1.2 ...
8.7 创建一个快速示例 8.7.1 创建数据库 8.7.2 添加数据库关系图和初始表 8.7.3 添加关系 8.7.4 添加一些约束 8.8 本章小结 8.9 练习 第9章 SQLServer存储和索引结构 9.1 SQLServer存储机制 9.1.1 数据库 9.1.2 ...
8.7 创建一个快速示例 8.7.1 创建数据库 8.7.2 添加数据库关系图和初始表 8.7.3 添加关系 8.7.4 添加一些约束 8.8 本章小结 8.9 练习 第9章 SQLServer存储和索引结构 9.1 SQLServer存储机制 9.1.1 数据库 9.1.2 ...
完全根据考试要求来阐述每一个知识点 提供可供搜索的Ebook(英文版)和训练题 提供实际场景案例分析和故障诊断实验 SQL Server专家的呕心力作,数据库管理员的实战宝典,全面、深入地剖析SQL Server2008新特性,结构...
完全根据考试要求来阐述每一个知识点 提供可供搜索的Ebook(英文版)和训练题 提供实际场景案例分析和故障诊断实验 SQL Server专家的呕心力作,数据库管理员的实战宝典,全面、深入地剖析SQL Server2008新特性,结构...
完全根据考试要求来阐述每一个知识点 提供可供搜索的Ebook(英文版)和训练题 提供实际场景案例分析和故障诊断实验 SQL Server专家的呕心力作,数据库管理员的实战宝典,全面、深入地剖析SQL Server2008新特性,结构...
JCarder 是一个用来查找多线程应用程序中一些潜在的死锁,通过对 Java 字节码的动态分析来完成死锁分析。 Java的Flash解析、生成器 jActionScript jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。...
JCarder 是一个用来查找多线程应用程序中一些潜在的死锁,通过对 Java 字节码的动态分析来完成死锁分析。 Java的Flash解析、生成器 jActionScript jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。...
JCarder 是一个用来查找多线程应用程序中一些潜在的死锁,通过对 Java 字节码的动态分析来完成死锁分析。 Java的Flash解析、生成器 jActionScript jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。...
JCarder 是一个用来查找多线程应用程序中一些潜在的死锁,通过对 Java 字节码的动态分析来完成死锁分析。 Java的Flash解析、生成器 jActionScript jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。...
JCarder 是一个用来查找多线程应用程序中一些潜在的死锁,通过对 Java 字节码的动态分析来完成死锁分析。 Java的Flash解析、生成器 jActionScript jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。...
JCarder 是一个用来查找多线程应用程序中一些潜在的死锁,通过对 Java 字节码的动态分析来完成死锁分析。 Java的Flash解析、生成器 jActionScript jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。...
JCarder 是一个用来查找多线程应用程序中一些潜在的死锁,通过对 Java 字节码的动态分析来完成死锁分析。 Java的Flash解析、生成器 jActionScript jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。...
JCarder 是一个用来查找多线程应用程序中一些潜在的死锁,通过对 Java 字节码的动态分析来完成死锁分析。 Java的Flash解析、生成器 jActionScript jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。...
JCarder 是一个用来查找多线程应用程序中一些潜在的死锁,通过对 Java 字节码的动态分析来完成死锁分析。 Java的Flash解析、生成器 jActionScript jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。...
JCarder 是一个用来查找多线程应用程序中一些潜在的死锁,通过对 Java 字节码的动态分析来完成死锁分析。 Java的Flash解析、生成器 jActionScript jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。...
JCarder 是一个用来查找多线程应用程序中一些潜在的死锁,通过对 Java 字节码的动态分析来完成死锁分析。 Java的Flash解析、生成器 jActionScript jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。...
用JAVA编写了一个小工具,用于检测当前显示器也就是显卡的显示模式,比如分辨率,色彩以及刷新频率等。 Java波浪文字制作方法及源代码 1个目标文件 摘要:Java源码,初学实例,波浪文字 Java波浪文字,一个利用...
JCarder 是一个用来查找多线程应用程序中一些潜在的死锁,通过对 Java 字节码的动态分析来完成死锁分析。 Java的Flash解析、生成器 jActionScript jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。...