0
我有存儲過程需要一次運行一個(不應該同時運行)。sp_getApplock lockOwner值事務vs會話
對於這個我使用下面的存儲的過程
exec @result = sys.sp_getapplock
@Resource='Employee', @LockMode = 'Exclusive', @LockOwner= 'session', @LockTimeout = 0
這一呼籲裏面有LockOwner設置爲「會議」和也有另一種被稱爲「交易」可能值。
我知道如果我選擇交易,我需要在交易中寫入存儲proc主體。
我搜查了兩者之間的差異,但沒有得到任何運氣。
任何人都可以請幫我,除了調用sp_getapplock內部之外,它們之間的區別是什麼?
我也會理解爲解決我的問題的最佳做法(防止從運行併發執行存儲過程)。
作爲澄清,你爲什麼要限制一次存儲過程的執行?當多個用戶想要做同樣的事情會發生什麼?鎖的目標是什麼,防止什麼? – 2014-11-24 12:42:55
@BerndLinde我需要創建和分配一個唯一的隨機數no由兩部分組成1)是隨機部分和2)是順序部分(例如ABD001,CDE002,DFD003 ....)。存儲過程的目的是生成這個隨機號碼。 – 2014-11-24 13:18:36