線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1402
推到 Plurk!
推到 Facebook!

查出誰鎖定檔案

尚未結案
OE9425
一般會員


發表:11
回覆:12
積分:4
註冊:2003-03-07

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-12-08 16:45:36 IP:211.75.xxx.xxx 未訂閱
您好: 小弟目前有一個問題,當多人使用SQL SERVER 2000時,有時某一個TABLE,被某一個人鎖定,造成他人無法讀取,必須由管理者透過SQL SERVER的工具才能查出被誰鎖定. 不知是否有那位高手,可透過DELPHI來查出由誰鎖定呢?
kgt
高階會員


發表:17
回覆:308
積分:165
註冊:2002-03-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-12-08 22:01:12 IP:61.219.xxx.xxx 未訂閱
hi OE9425日安: 請您參考此篇討論的方式 http://delphi.ktop.com.tw/topic.php?topic_id=19304
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-12-08 23:33:57 IP:220.132.xxx.xxx 未訂閱
Hi, 試試, select hostname, program_name, net_address, loginame from master..sysprocesses where spid=(select req_spid from master..syslockinfo where rsc_objid = object_id('table_name') and rsc_type=5) 其中的 table_name 即為你要指定的鎖定表名稱, 而 rsc_type=5 是指 table. 試試看.
OE9425
一般會員


發表:11
回覆:12
積分:4
註冊:2003-03-07

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-12-09 09:37:16 IP:211.75.xxx.xxx 未訂閱
感謝各位先進的解答,但或許是我的文意不清. 我想查詢的是,目前於DATABASE中,有誰鎖定了檔案,造成他人的等待.以便請鎖定人員盡快離開資料庫,以便他人能運作.
OE9425
一般會員


發表:11
回覆:12
積分:4
註冊:2003-03-07

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-12-09 11:44:37 IP:211.75.xxx.xxx 未訂閱
感謝timhuang 大致了解timhuang 的意思了,將依方向作測試,謝謝.
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#6 引用回覆 回覆 發表時間:2006-07-07 15:13:24 IP:218.163.xxx.xxx 未訂閱

你好

select p.hostname from master.dbo.syslocks l,master.dbo.sysprocesses p
where l.spid=p.spid and l.spid<>@@spid and object_name(l.id)='LockedTableName'

相同的做法, 只是 SQL 不同, 供參考.

系統時間:2024-05-17 11:35:18
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!