--先找到阻塞的spid
select *
from sys.sysprocesses
where blocked <> 0--用上面的spid查询
select start_time,
wait_time
from sys.dm_exec_requests
where spid = xxx
select *
from sys.sysprocesses
where blocked <> 0--用上面的spid查询
select start_time,
wait_time
from sys.dm_exec_requests
where spid = xxx
我现在是想用代码把lock或阻塞发生的时间记录下来,若也能记录lock或阻塞结束的时间记录下来最好
我现在是想用代码把lock或阻塞发生的时间记录下来,若也能记录lock或阻塞结束的时间记录下来最好这个我觉得用profiler也可以的,然后通过函数从文件中把信息独取出来,不过这种锁信息是很多的,如果记录大量这样的信息,系统的性能会受到很大的影响。
我现在是想用代码把lock或阻塞发生的时间记录下来,若也能记录lock或阻塞结束的时间记录下来最好有些迅速加锁、解锁的操作DMV可能记录下来也区分不出来,用sql trace也行
我现在是想用代码把lock或阻塞发生的时间记录下来,若也能记录lock或阻塞结束的时间记录下来最好这个我觉得用profiler也可以的,然后通过函数从文件中把信息独取出来,不过这种锁信息是很多的,如果记录大量这样的信息,系统的性能会受到很大的影响。
请问select start_time, wait_time,* from sys.dm_exec_requests中的session_ID与select * from sys.sysprocesses 中的spid是一样的意思吗?
另外下图中的wait_time为什么出现为负数?
我现在是想用代码把lock或阻塞发生的时间记录下来,若也能记录lock或阻塞结束的时间记录下来最好这个我觉得用profiler也可以的,然后通过函数从文件中把信息独取出来,不过这种锁信息是很多的,如果记录大量这样的信息,系统的性能会受到很大的影响。
请问select start_time, wait_time,* from sys.dm_exec_requests中的session_ID与select * from sys.sysprocesses 中的spid是一样的意思吗?
另外下图中的wait_time为什么出现为负数?我查了一下资料:wait_time int
如果请求被阻塞,则此列返回当前等待的持续时间(毫秒)。不可为空值。但是为什么有空值,还真不清楚
我现在是想用代码把lock或阻塞发生的时间记录下来,若也能记录lock或阻塞结束的时间记录下来最好有些迅速加锁、解锁的操作DMV可能记录下来也区分不出来,用sql trace也行一直没有用SQL trace,在SQL中只用过profiler与db tuning advsior,请问SQL trace是SQL自带的吗?谢谢