Sql Azure - 无法解释的锁定

Sql Azure - Unexplained locking

我们的服务器上有一个控制台应用程序 运行,它会根据计划生成报告。

处理过程经常被 sql 锁阻塞,这可能会持续几分钟。

即使使用动态管理视图,我也无法确定导致锁定的原因。

例如

SELECT sqltext.TEXT,
req.session_id,
req.status,
req.command,
req.cpu_time,
req.total_elapsed_time
FROM sys.dm_exec_requests req
CROSS APPLY sys.dm_exec_sql_text(sql_handle) AS sqltext

给出:

第 1 行是被阻止的查询。第 2 行是我用来生成结果的查询。似乎没有任何其他可能被阻止的活动查询。

这在生产中造成了重大问题,我不知道如何继续。

任何人都可以建议我如何尝试并深入了解它吗?

如果问题与锁定有关,您需要查看 sys.dm_tran_locks。 DMV sys.dm_exec_requests 仅告诉您哪些请求被阻止以及最后的等待类型。详情可在其他相关 DMV 中找到。

下面名为“解决 SQL Server 2008 中的性能问题”的白皮书包含所有故障排除步骤:

https://technet.microsoft.com/en-us/library/dd672789(v=sql.100).aspx