Locking
Progress OpenEdge - 如何從表中刪除鎖?
我在連接到 Progress OpenEdge 數據庫的應用程序中的表上存在某種錯誤。由於鎖的原因,我無法測試那裡的應用程序做錯了什麼(因為我不能多次測試它,因為鎖和鎖似乎持續了很長時間)。
有沒有辦法從表中刪除所有鎖?
您可以使用鎖定提示從已鎖定的表中進行選擇。
select * from tblUser with (NOLOCK) ;
這是使用 adhoc sql 的好習慣。
注意不要在沒有完全閱讀和理解文件的情況下在生產程式碼中使用。
如果你想殺死阻塞程序: http ://www.kodyaz.com/articles/identify-kill-blocking-sql-server-processes.aspx
從 OE 數據庫中“刪除”鎖的唯一方法是
- 要完成的事務(並且所有緩衝區都重新讀取 NO-LOCK 或超出範圍),
- 客戶端崩潰,或
- 分貝下降。
沒有程式方式來清除客戶端會話生成的鎖。