作者jason81418 (歐耶)
看板Database
標題[SQL ] SQL Lock問題
時間Mon Nov 24 15:59:55 2014
資料庫名稱:SQL Server 2000
資料庫版本:
內容/問題描述:
最近公司在TableA會有嚴重的Lock
導致要更新或者新增/查詢都無法使用
觀看該張Table被鎖定類型都屬於key,鎖定的type屬於S
數量相當的多
到Server端下觀看這些被lock的內容
sql的陳述式卻都是空白
目前都只能手動kill掉才能讓TableA恢復正常
有沒有辦法可以知道這些lock是來自於哪裡嗎?
P.S有懷疑一隻網頁程式可能是上述問題的發生源頭
想請問版上專業大大判斷看看,是否有可能
程式裡面使用SqldataAdapter來做"跨Server"的Select
語法大略如下
Select '要使用的欄位'
from ServerB.[dbo].[TableB] as a
left outer join ServerA.[dbo].[TableA] as b <--被Lock的
on (a.col_a = b.col_b collate Chinese_Taiwan_Stroke_CI_AS
and a.col_a1 = b.col_b1)
where '篩選的查詢'
若Select30秒內沒有辦法完成,基本上就都會TimeOut掉
我是覺得30秒會自動TimeOut理論上感覺應該不會這麼大量去Lock到Table才對
但是不確定,所以上來問看看
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 202.39.250.90
※ 文章網址: http://www.ptt.cc/bbs/Database/M.1416815998.A.4CA.html
推 TeemingVoid: 請試試 exec sp_who 查一下(特別留意 blk 欄位)。 11/24 16:54
推 rockchangnew: 30秒是ap連結db的time out歐,該query在db上還是在 11/24 17:17
→ rockchangnew: 跑。所以query一多當然會慘 11/24 17:18
推 rockchangnew: 先查一下為何query要那麼久 11/24 17:20