当某个数据库文件空间用尽,做自动增长的时候,同一时间点只能有一个用户人员可以做文件自动增长动作,其他任务必须等待,此时会出现Latch资源的等待。使用sp_helpdb查看业务数据库时发现:该数据库设置不合理,数据文件每次增长2M,日志文件每次增长10%,且分别设置了最大限制。修改为每次增长200M,不限制大小,系统恢复正常,问题解决。
SqlServer阻塞时的等待类型如下:
顺便整理一下查看阻塞、会话状态及等待类型的SQL脚本:
--
查看SQL阻塞信息
with tmp as (
select*from master..sysprocesses t where t.blocked !=0unionallselect b.*from master..sysprocesses b
join tmp t on b.spid = t.blocked
)
select t.spid, t.blocked, t.status, t.waittype, t.lastwaittype, t.waitresource, t.waittime
, DB_NAME(t.dbid) DbName, t.login_time, t.loginame, t.program_name, dc.textfrom (select spid from tmp groupby spid) s
join master..sysprocesses t on s.spid = t.spid
cross apply master.sys.dm_exec_sql_text(t.sql_handle) dc
-- 查看所有会话的状态、等待类型及当前正在执行SQL脚本select t.spid, t.blocked, t.status, t.waittype, t.lastwaittype, t.waitresource, t.waittime
, DB_NAME(t.dbid) DbName, t.login_time, t.loginame, t.program_name, dc.textfrom master..sysprocesses t
cross apply master.sys.dm_exec_sql_text(t.sql_handle) dc
where t.spid >50
原文:http://www.cnblogs.com/zhaoguan_wang/p/4604270.html
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!