关于锁/进程ID的问题
想请问一下,在管理器里打开管理-> 当前活动-> 锁/进程ID里看到最大一个spid   383,请问这是不是指共383个进程在运行?还是这是导致SQL   SERVER慢的原因吗?
------解决方案----------------------查詢分析中執行下面語句即可找到所有死鎖的進程了 
 select * from master.dbo.sysprocesses where blocked=1 
------解决方案----------------------查进程锁,执行语句   
 CREATE            PROCEDURE usp_sys_getblockedprocessinfo  AS 
 declare @begin_id int,--开始ID 
 	@end_id int,--结束ID 
 	@spid int,--进程ID 
 	@exec_sql varchar(8000)--执行语句     
 --创建进程临时表(不使用游标避免锁的发生) 
 CREATE TABLE [#tmp_sysprocesses] ( 
 	[id] [numeric] (18,0)  IDENTITY(1,1) NOT NULL, 
 	[BLOCKED] [smallint] NOT NULL, 
 	[spid] [smallint] NOT NULL ,	 
 	[eventinfo] nvarchar(3500) NULL, 
 	[userid] varchar(20) null, 
 	[cpu] int null, 
 	[hostname] varchar(30) null 
 )     
 if exists(select * from master..sysprocesses with(nolock) where blocked  <>  0) 
 begin   
 --创建进程最后一次提交语句临时表 
 create table #tmp_inputbuffer( 
 	EventType nvarchar(30) NULL, 
 	Parameters int NULL, 
 	EventInfo nchar(255) NULL)     
 --插入进程数据 
 insert into #tmp_sysprocesses(spid,blocked,userid,cpu,hostname) 
 select a.spid,a.blocked,b.user_name,a.cpu,a.hostname 
 from master..sysprocesses a with(nolock), 
 	kfc_user b with(nolock) 
 where (a.blocked  <>  0 or a.spid in (select blocked from master..sysprocesses with(nolock) where blocked  <>  0  )  
 	) and a.loginame = b.user_id 
 --循环取进程最后执行语句 
 select @begin_id = min(id), 
 	@end_id = max(id) 
 from #tmp_sysprocesses 
 while @begin_id  <= @end_id 
 	begin 
 	--取进程ID 
 	select @spid = spid 
 	from #tmp_sysprocesses 
 	where id = @begin_id 
 	select @exec_sql =  'DBCC INPUTBUFFER ( ' + convert(varchar(10),@spid) +  ') ' 
 	delete from #tmp_inputbuffer 
 	--取进程最后执行语句 
 	insert into #tmp_inputbuffer(EventType,Parameters,EventInfo) 
 	exec(@exec_sql) 
 	select top 1 @exec_sql = EventInfo 
 	from #tmp_inputbuffer 
 	--更新进程最后执行语句 
 	update #tmp_sysprocesses  
 	set EventInfo = @exec_sql 
 	where id = @begin_id 
 	--循环变量累加 
 	select @begin_id = @begin_id + 1 
 	end 
 --drop table #tmp_inputbuffer 
 --显示进程信息 
 end   
 select spid,blocked,EventInfo,userid,cpu,hostname from #tmp_sysprocesses ORDER BY blocked 
 drop table #tmp_sysprocesses 
 GO
------解决方案--------------------mark '
------解决方案--------------------建議gahade(与君共勉)將--delete from #tmp_inputbuffer 
 改為:truncate table #tmp_inputbuffer   
 truncate table #tmp_sysprocesses --drop 之前加上此句減少日誌備份 
 drop table #tmp_sysprocesses
------解决方案--------------------mark~~~
------解决方案--------------------rockyljt(江濤) ( ) 信誉:100    Blog  2007-03-31 15:52:44  得分: 0         
    建議gahade(与君共勉)將--delete from #tmp_inputbuffer 
 改為:truncate table #tmp_inputbuffer   
 truncate table #tmp_sysprocesses --drop 之前加上此句減少日誌備份 
 drop table #tmp_sysprocesses     
 -------------------------- 
 对临时表的操作不记录日志文件中. 
 只记录于tempdb中.
------解决方案--------------------用sp_lock也可以看锁的情况
------解决方案--------------------383只是一个ID而已,不一定就代表383个进程的。 
 sqlserver慢的原因有很多,建议参考sqlserver服务器配置。。
------解决方案--------------------