如何查看被锁的是哪行数据
最近经常出现死锁,我通过sp_lock和sys.dm_tran_locks 查询到了是哪张表
锁的type值是key,mode是S
Resource的值是相同的,我想知道这个Resource具体是个什么值啊
还有如何查看是哪条语句引起死锁的呢?
------解决方案--------------------通过sql profileer,选择列出所有事件,选择Lock:
------解决方案--------------------sys.dm_tran_locks 各字段含义:
http://technet.microsoft.com/zh-cn/library/ms190345(v=sql.105).aspx
据LZ的描述,应该不是死锁,发生死锁时是自动回滚的,通过sys.dm_tran_locks是看不到任何信息的.
应该先了解一下死锁和阻塞的区别.
------解决方案--------------------这个内存地址暂时不知道怎么解释。但是我的这个DMV显示的列跟你的不一样哦,你先看看select object_name(1462668045)上的聚集索引,找到之后,用SELECT user_scans FROM sys.dm_db_index_usage_stats看看是不是和其他列的值相差很大,如果是,可能意味着你的索引效率不高,如果你要看哪句引起死锁,可以用DBCC INPUTBUFFER(SPID)来找