SQL Server 數據庫中鎖的自定義
我們今天是要和大家一起討論的是SQL Server 數據庫中鎖的自定義,正確處理死鎖與設置死鎖得優(yōu)先級,如果對SQL Server 數據庫中鎖的自定義的相關實際應用不是很了解的話,以下的文章會給你提供更全面的知識。
死鎖就是多個用戶申請不同封鎖,由于申請者均擁有一部分封鎖權而又等待其他用戶擁有的部分封鎖而引起的無休止的等待
可以使用SET DEADLOCK_PRIORITY控制在發(fā)生死鎖情況時會話的反應方式。如果兩個進程都鎖定數據,并且直到其它進程釋放自己的鎖時,每個進程才能釋放自己的鎖,即發(fā)生死鎖情況。
2 處理超時和設置鎖超時持續(xù)時間。
@@LOCK_TIMEOUT 返回當前會話的當前鎖超時設置,單位為毫秒
SET LOCK_TIMEOUT 設置允許應用程序設置語句等待阻塞資源的最長時間。當語句等待的時間大于 LOCK_TIMEOUT 設置時,系統(tǒng)將自動取消阻塞的語句,并給應用程序返回"已超過了鎖請求超時時段"的 1222 號錯誤信息
示例
下例將鎖超時期限設置為 1,800 毫秒。
- SET LOCK_TIMEOUT 1800
設置事務隔離級別。
對 SELECT、INSERT、UPDATE 和 DELETE 語句使用表級鎖定提示。
配置索引的鎖定粒度
可以使用 sp_indexoption 系統(tǒng)存儲過程來設置用于索引的鎖定粒度
以上的相關內容就是對SQL Server 數據庫中鎖的自定義 的介紹,望你能有所收獲。
上述的相關內容就是對SQL Server 數據庫中鎖的自定義的描述,希望會給你帶來一些幫助在此方面。
【編輯推薦】