• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
4℃空间
众人笑我痴 我笑他人看不懂
   首页    新随笔    联系   管理    订阅  订阅

查看数据库发生死锁的具体对象

执行以下的存储过程:

SELECT CAST (
    REPLACE (
        REPLACE (
            XEventData.XEvent.value ('(data/value)[1]', 'varchar(max)'),
            '<victim-list>', '<deadlock><victim-list>'),
        '<process-list>', '</victim-list><process-list>')
    AS XML) AS DeadlockGraph
FROM (SELECT CAST (target_data AS XML) AS TargetData
    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 Data
CROSS APPLY TargetData.nodes ('//RingBufferTarget/event') AS XEventData (XEvent)
    WHERE XEventData.XEvent.value('@name', 'varchar(4000)') = 'xml_deadlock_report';

  得到的结果会以XML的方式返回作为结果集,双击可以查看详细的结果集

在结果集中会找到“ID”方面的节点:<inputbuf>,将得到的两个ID放到以下对应的地方可以查出具体发生死锁的对象

select OBJECT_NAME([Object Id],[Database Id])

 

查看锁的详细:

SELECT L.request_session_id AS SPID, 
	DB_NAME(L.resource_database_id) AS DatabaseName, 
	O.Name AS LockedObjectName, 
	P.object_id AS LockedObjectId, 
	L.resource_type AS LockedResource, 
	L.request_mode AS LockType, 
	ST.text AS SqlStatementText, 
	ES.login_name AS LoginName, 
	ES.host_name AS HostName, 
	TST.is_user_transaction as IsUserTransaction, 
	AT.name as TransactionName, 
	CN.auth_scheme as AuthenticationMethod 
FROM sys.dm_tran_locks L 
	JOIN sys.partitions P ON P.hobt_id = L.resource_associated_entity_id 
	JOIN sys.objects O ON O.object_id = P.object_id 
	JOIN sys.dm_exec_sessions ES ON ES.session_id = L.request_session_id 
	JOIN sys.dm_tran_session_transactions TST ON ES.session_id = TST.session_id 
	JOIN sys.dm_tran_active_transactions AT ON TST.transaction_id = AT.transaction_id 
	JOIN sys.dm_exec_connections CN ON CN.session_id = ES.session_id 
	CROSS APPLY sys.dm_exec_sql_text(CN.most_recent_sql_handle) AS ST WHERE resource_database_id = db_id() 
	ORDER BY L.request_session_id 

  

 

 

 

 

posted @ 2012-09-19 10:57  magic_evan  阅读(353)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3