Joe*_*ish 10 sql-server deadlock sql-server-2017
sp_whoisactive
第一次在服务器上运行时,我遇到了一些意想不到的事情:
两场比赛已经持续了13天,但两场比赛似乎都在互相阻碍。看看sys.dm_tran_locks
:
阻止进程阈值设置的配置值为 10 秒。其他死锁正在通过死锁监视器在服务器上成功解决。
来自参数的信息@get_locks
:
<Database name="DB1">
<Locks>
<Lock request_mode="S" request_status="GRANT" request_count="1" />
</Locks>
<Objects>
<Object name="TBL1" schema_name="dbo">
<Locks>
<Lock resource_type="OBJECT" request_mode="IX" request_status="GRANT" request_count="1" />
<Lock resource_type="PAGE" page_type="*" index_name="PK__TBL1__3214EC27326C5B6A" request_mode="U" request_status="GRANT" request_count="1" />
<Lock resource_type="PAGE" page_type="*" index_name="PK__TBL1__3214EC27326C5B6A" request_mode="U" request_status="WAIT" request_count="1" />
</Locks>
</Object>
</Objects>
</Database>
<Database name="DB1">
<Locks>
<Lock request_mode="S" request_status="GRANT" request_count="1" />
</Locks>
<Objects>
<Object name="TBL2" schema_name="dbo">
<Locks>
<Lock resource_type="OBJECT" request_mode="Sch-S" request_status="GRANT" request_count="2" />
</Locks>
</Object>
<Object name="TBL1" schema_name="dbo">
<Locks>
<Lock resource_type="OBJECT" request_mode="IX" request_status="GRANT" request_count="5" />
<Lock resource_type="PAGE" page_type="*" index_name="PK__TBL1__3214EC27326C5B6A" request_mode="U" request_status="GRANT" request_count="33701" />
<Lock resource_type="PAGE" page_type="*" index_name="PK__TBL1__3214EC27326C5B6A" request_mode="U" request_status="WAIT" request_count="1" />
</Locks>
</Object>
</Objects>
</Database>
Run Code Online (Sandbox Code Playgroud)
我偶尔会看到“未检测到的死锁”这个术语,但我对它们没有任何直接的经验。我的问题是:
小智 2
来自David Browne留下的评论- Microsoft
“未检测到的死锁”通常意味着“无法检测到的死锁”,例如,会话被 SQL Server 锁阻塞,而另一个在客户端应用程序中被阻塞,或者会话调用
xp_cmdshell
运行连接到数据库的程序并被阻塞。通过会话等待 的完成xp_cmdshell
。没有自动解决的普通死锁看起来像是一个错误。
归档时间: |
|
查看次数: |
237 次 |
最近记录: |