收藏本站 收藏本站
积木网首页 - 软件测试 - 常用手册 - 站长工具 - 技术社区
首页 > 数据库 > mssql2005 > 正文

首页 - PHP - 数据库 - 操作系统 - 游戏开发 - JS - Android - MySql - Redis - MongoDB - Win8 - Shell编程 - DOS命令 - jQuery - CSS样式 - Python - Perl

Access - Oracle - DB2 - SQLServer - MsSql2008 - MsSql2005 - Sqlite - PostgreSQL - node.js - extjs - JavaScript vbs - Powershell - Ruby

SQL2005查看死锁存储过程sp_who_lock

下面是我整理的监控sql server数据库,在性能测试过程中是否出现死锁、堵塞的SQL语句,还算比较准备,留下来备用。

调用方法:选中相应的数据库,执行exec sp_who_lock

USE [master]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO


CREATE procedure [dbo].[sp_who_lock] 
as 
begin 
declare @spid int, @bl int, @intTransactionCountOnEntry int, @intRowcount int, @intCountProperties int, @intCounter int 

create table #tmp_lock_who ( 
	id int identity(1,1), 
	spid smallint, 
	bl smallint
) 

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 '现在没有阻塞和死锁信息' as message 

-- 循环开始 
while @intCounter <= @intCountProperties 
begin 
	-- 取第一条记录 
	select @spid = spid,@bl = bl 
	from #tmp_lock_who where Id = @intCounter 
	begin 
		if @spid =0 
      select '引起数据库死锁的是: '+ CAST(@bl AS VARCHAR(10)) + '进程号,其执行的SQL语法如下' 
		else 
      select '进程号SPID:'+ CAST(@spid AS VARCHAR(10))+ '被' + '进程号SPID:'+ CAST(@bl AS VARCHAR(10)) +'阻塞,其当前进程执行的SQL语法如下' 
		DBCC INPUTBUFFER (@bl ) 
	end 

	-- 循环指针下移 
	set @intCounter = @intCounter + 1 
end 

drop table #tmp_lock_who 

return 0 
end

SQL2005重新生成索引的的存储过程 sp_rebuild_index 原创
公司运营着的网站,流量很大,网站是交互式的,经常在过了三四个月的时候索引生成的碎片就很多,由于很大一部分页面没有生成静态,这就导致网

SQL Server 2005 中使用 Try Catch 处理异常
TRY...CATCH是SqlServer2005/2008令人印象深刻的新特性.提高了开发人员异常处理能力.没有理由不尝试一下Try..Catch功能.*TRY块-包含可能产生异常的代码或脚本*CA

sql server 关于设置null的一些建议
我们设计表时,在字段是否允许Null值这个问题上,有时会争论一番。数据库牛人KalenDelaney则给了一下建议:1,永远不要在用户表中允许NULL值2,在用户

本周排行

更新排行

强悍的草根IT技术社区,这里应该有您想要的! 友情链接:b2b电子商务
Copyright © 2010 Gimoo.Net. All Rights Rreserved  京ICP备05050695号