前些天寫乙個儲存過程,儲存過程中使用了事務,後來我把一些**注釋掉來進行除錯找錯,突然發現一張表被鎖住了,原來是建立事務的**忘記注釋掉。本文表鎖住了的解決方法。 其實不光是上面描述的情況會鎖住表,還有很多種場景會使表放生死鎖,解鎖其實很簡單,下面用乙個示例來講解: 1 首先建立乙個測試用的表:
create table2 執行下面的sql語句將此表鎖住:test
(
tid
int identity
(1,1)
)
select3 通過下面的語句可以檢視當前庫中有哪些表是發生死鎖的:* from
test
with
(tablockx
)
select4 上面語句執行結果如下:request_session_id spid
,object_name
(resource_associated_entity_id
)tablename
from
sys.
dm_tran_locks
where
resource_type
='object '
5 只需要使用kill關鍵字來殺掉被鎖的程序id就可以對錶進行解鎖:
kill 52
SqlServer表死鎖的解決方法
前些天寫乙個儲存過程,儲存過程中使用了事務,後來我把一些 注釋掉來進行除錯找錯,突然發現一張表被鎖住了,原來是建立事務的 忘記注釋掉。本文表鎖住了的解決方法。其實不光是上面描述的情況會鎖住表,還有很多種場景會使表放生死鎖,解鎖其實很簡單,下面用乙個示例來講解 1 首先建立乙個測試用的表 create...
SqlServer表死鎖的解決方法
前些天寫乙個儲存過程,儲存過程中使用了事務,後來我把一些 注釋掉來進行除錯找錯,突然發現一張表被鎖住了,原來是建立事務的 忘記注釋掉。本文表鎖住了的解決方法。還有很多種場景會使表放生死鎖,解鎖其實很簡單,下面用乙個示例來講解 1 首先建立乙個測試用的表 create table test tid i...
SqlServer表死鎖的解決方法
前些天寫乙個儲存過程,儲存過程中使用了事務,後來我把一些 注釋掉來進行除錯找錯,突然發現一張表被鎖住了,原來是建立事務的 忘記注釋掉。本文表鎖住了的解決方法。其實不光是上面描述的情況會鎖住表,還有很多種場景會使表放生死鎖,解鎖其實很簡單,下面用乙個示例來講解 1 首先建立乙個測試用的表 create...