在MS SQL中查找阻塞/锁定查询,可以通过以下步骤进行:
EXEC sp_who2
这将返回一个结果集,其中包含了当前数据库中的所有活动进程和锁定信息。
SELECT
request_session_id AS SessionID,
resource_type AS ResourceType,
resource_database_id AS DatabaseID,
resource_description AS ResourceDescription,
request_mode AS RequestMode,
request_status AS RequestStatus
FROM
sys.dm_tran_locks
WHERE
request_status = 'WAIT'
这将返回一个结果集,其中包含了当前正在等待锁定的会话ID、锁定资源类型、数据库ID、资源描述、请求模式和请求状态。
SELECT
r.session_id AS SessionID,
s.login_name AS LoginName,
r.blocking_session_id AS BlockingSessionID,
r.wait_type AS WaitType,
r.wait_resource AS WaitResource,
t.text AS QueryText
FROM
sys.dm_exec_requests AS r
INNER JOIN
sys.dm_exec_sessions AS s ON r.session_id = s.session_id
CROSS APPLY
sys.dm_exec_sql_text(r.sql_handle) AS t
WHERE
r.blocking_session_id <> 0
这将返回一个结果集,其中包含了阻塞会话的会话ID、登录名、阻塞会话的ID、等待类型、等待资源和阻塞查询的文本。
以上是在MS SQL中查找阻塞/锁定查询的方法。对于MS SQL的相关知识,可以参考腾讯云的SQL Server产品文档:SQL Server。
领取专属 10元无门槛券
手把手带您无忧上云