2016-08-18 61 views
0

下面的查詢會給我鎖在桌子上找到與specifc行SYBASE表

select distinct object_name(id) 
from master..syslocks 

鎖什麼,我搜索是找出哪一行其鎖定?

例如,如果我得到update messages set name ='hi' where id =1和消息導致鎖,我想要一個查詢來知道id = 1這個表導致鎖定。我可以知道嗎?

回答

1

首先,它取決於如果表使用所有頁/數據頁/數據行鎖定方案(見「sp_help將表名」輸出)

如果數據行,你可以得到特定行的鎖,否則鎖將在頁面上(數據或索引或兩者)或在表格上。 使用syslocks或sp_lock,您可以檢索涉及鎖定的頁面。 要打印頁面的內容,您可以運行「dbcc頁面(database_id,pageno,4)」

+0

我試圖使用'dbcc頁面'在哪裏應該得到databse_id?來自syslocks?列'dbid'?和syslogs中的'page'列pageno? – Moudiz

+0

是列的dbid和頁面。 – Vince