-------sql server 高級命令
sp_who active --看看哪個引起的阻塞,blk
sp_lock --看看鎖住了那個資源id,objid ,select object_name(objid) 得到
dbcc inputbuffer(@blk) -- 看看是那個語句
-------制造數(shù)據(jù)庫死鎖
DECLARE @au_id int
SELECT @au_id = 1
BEGIN TRANSACTION
DELETE FROM master.dbo.CAT_Billing_Lock where
LockId=@au_id INSERT INTO master.dbo.CAT_Billing_Lock (LockId,LockName, IsLocked) VALUES (@au_id, 'jz','0')
WAITFOR DELAY '00:01:59'
SELECT *
FROM master.dbo.CAT_Billing_Lock
COMMIT
--------------------------定期殺掉所有死鎖進(jìn)程
DECLARE
@USER_ID INT, @KILLCMD VARCHAR(100), @WAIT_TIME INT
-- 設(shè)置空閑時間
SET @WAIT_TIME = 2;
-- 根據(jù)選擇條件,選擇出應(yīng)該取消的進(jìn)程
DECLARE cur_lock CURSOR FOR
SELECT spid FROM master..sysprocesses
WHERE
DATEDIFF(minute, last_batch, getdate()) > @WAIT_TIME
AND blocked = 0
AND spid IN
(SELECT blocked FROM master..sysprocesses);
-- 取消所有選擇出的進(jìn)程。
OPEN cur_lock;
FETCH NEXT FROM cur_lock INTO @USER_ID;
WHILE @@FETCH_STATUS = 0
BEGIN
SET @KILLCMD = 'kill ' + CAST(@USER_ID AS VARCHAR);
EXECUTE (@KILLCMD);
FETCH NEXT FROM cur_lock INTO @USER_ID;
END;
CLOSE cur_lock;
DEALLOCATE cur_lock;
--------------------------殺掉所有死鎖進(jìn)程
DECLARE
@USER_ID INT, @KILLCMD VARCHAR(100)
-- 根據(jù)選擇條件,選擇出應(yīng)該取消的進(jìn)程
DECLARE cur_lock CURSOR FOR
SELECT spid FROM master..sysprocesses
WHERE
blocked = 0
AND spid IN
(SELECT blocked FROM master..sysprocesses);
-- 取消所有選擇出的進(jìn)程。
OPEN cur_lock;
FETCH NEXT FROM cur_lock INTO @USER_ID;
WHILE @@FETCH_STATUS = 0
BEGIN
SET @KILLCMD = 'kill ' + CAST(@USER_ID AS VARCHAR);
EXECUTE (@KILLCMD);
FETCH NEXT FROM cur_lock INTO @USER_ID;
END;
CLOSE cur_lock;
DEALLOCATE cur_lock;
---------------------------------------殺掉掛起或死鎖的進(jìn)程
DECLARE
@USER_ID INT, @KILLCMD VARCHAR(100)
-- 根據(jù)選擇條件,選擇出應(yīng)該取消的進(jìn)程
DECLARE cur_lock CURSOR FOR
SELECT spid FROM master..sysprocesses where status='suspended' and hostname='JANCEN'
-- 取消所有選擇出的進(jìn)程。
OPEN cur_lock;
FETCH NEXT FROM cur_lock INTO @USER_ID;
WHILE @@FETCH_STATUS = 0
BEGIN
SET @KILLCMD = 'kill ' + CAST(@USER_ID AS VARCHAR);
EXECUTE (@KILLCMD);
FETCH NEXT FROM cur_lock INTO @USER_ID;
END;
CLOSE cur_lock;
DEALLOCATE cur_lock;
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點(diǎn)擊舉報(bào)。