sql server错误 - 超出锁定请求超时

运行选择查询时,我收到错误'超出锁定请求超时'。 我知道什么时候会出现这个错误。某些事务应该锁定表。 但我需要知道如何找到它。 请注意,当它被锁定时我无法检查它。它就像过去发生的那样,但我需要知道那个时候阻塞它的其他事务/查询是什么。 简单地说,我希望在发生这种情况时将这些事件记录在sql错误日志中,以便稍后我可以看到并查找阻止它的长时间运行查询。 知道如何记录它。 我试着设置跟踪标志并检查。 DBCC TRACEON(1204,1222,-1) 但我找不到与此相关的任何记录。 提前致谢。     
已邀请:
你在运行什么版本的sql server?如果您使用的是SQL 2008之前的版本,那么您需要与我们的IT人员一起在现场进行实时分析。 如果2008年您可以回顾性地查看死锁事件,因为它们在管理视图中公开。它存储为XML,但你可以很容易地解决它...
Select 
    DLEvent.XEvent.value('(data/value)[1]', 'varchar(max)') as DeadlockGraph
From
    (
        select CAST(target_data as xml) as DLData
        from sys.dm_xe_session_targets st
        join sys.dm_xe_sessions s 
        on s.address = st.event_session_address
        where name = 'system_health'
    ) AS DLData

CROSS APPLY DLData.nodes ('//RingBufferTarget/event') AS DLEvent (XEvent)

Where DLEvent.XEvent.value('@name', 'varchar(max)') = 'xml_deadlock_report'
    

要回复问题请先登录注册