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
我们的服务器上有一个控制台应用程序 运行,它会根据计划生成报告。
处理过程经常被 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