sqlserver中怎麼鎖表、解鎖、檢視銷表呢,下面我以三個不同的例項給各位朋友詳細介紹一下有需要的朋友可參考一下。
更多詳細內容請檢視:
鎖定資料庫的乙個表
**如下 複製**
select * from table with (holdlock)
注意: 鎖定資料庫的乙個表的區別
**如下 複製**
select * from table with (holdlock)
其他事務可以讀取表,但不能更新刪除
**如下 複製**
select * from table with (tablockx)
其他事務不能讀取表,更新和刪除
select 語句中「加鎖選項」的功能說明
sql server提供了強大而完備的鎖機制來幫助實現資料庫系統的併發性和高效能。使用者既能使用sql server的預設設定也可以在select 語句中使用「加鎖選項」來實現預期的效果。 本文介紹了select語句中的各項「加鎖選項」以及相應的功能說明
檢視被鎖表:
**如下 複製**
select request_session_id spid,object_name(resource_associated_entity_id) tablename
from sys.dm_tran_locks where resource_type='object'
spid 鎖表程序
tablename 被鎖表名
[@more@]
解鎖:建立乙個臨時table
**如下 複製**
create table #harveylock
(spid int,
dbid int,
objid int,
indid int,
type varchar(100),
resource varchar(100),
mode varchar(100),
status varchar(100)
)將lock資訊存入該table
insert into #harveylock exec sp_lock
3.在table中下條件查詢得到的lock
select * from #harveylock
4.kill 相關lock
kill @spid
例**如下 複製**
declare @spid int
set @spid = 57 --鎖表程序
declare @sql varchar(1000)
set @sql='kill '+cast(@spid as varchar)
exec(@sql)
oracle 檢視鎖表,解鎖
racle 鎖表查詢 和 解鎖 2009年08月25日 星期二 08 19 p.m.最近遇到這樣乙個問題,操作乙個表,發現被人鎖定了,於是查詢誰鎖定的表,發現多人鎖定,安全起見,不能全部kill,於是用一下語句判定,誰鎖定,誰等待。sql 查詢誰鎖定,誰等待 select rule lpad dec...
sqlserver鎖表 解鎖 檢視銷表的方法
鎖定資料庫的乙個表 複製 如下 select from table with holdlock 注意 鎖定資料庫的乙個表的區別 複製 如下 select from table with holdlock 其他事務可以讀取表,但不能更新刪除 複製 如下 select from table with t...
Oracle 鎖表 解鎖
select l.session id sid,s.serial l.locked mode,l.oracle username,l.os user name,s.machine,s.terminal,o.object name,s.logon time from v locked object l...