TSQL 刪除正在執行的資料庫

2021-09-06 13:30:47 字數 1322 閱讀 5184

declare

@dbname

nvarchar(200

);set

@dbname='

db1_snap

'begin

try--

***********************************==

--查詢當前資料庫所有連線並刪除

declare

@spid

int;

declare

@tempsql

nvarchar(200

);--

判斷臨時表是否存在,存在則刪除

if(object_id('

tempdb.dbo.#temp

','u

') is

notnull

)begin

drop

table #temp

end--

查詢活動的spid

select spid into #temp

from

master.sys.sysprocesses

where dbid =

db_id(@dbname

);--

迴圈並刪除所有活動spid

while((select

count(1) from #temp)>0)

begin

select

top(1) @spid

=spid from #temp

;

set@tempsql='

kill '+

cast(@spid

asvarchar(10

));

print

@tempsql

;

exec(@tempsql

);

delete

from #temp

where spid=

@spid

;end

drop

table #temp

--****************************************

--刪除資料庫

exec('

drop database '+

@dbname

);print

'刪除成功';

endtry

begin

catch

print

'執行出錯,錯誤資訊:

'print

error_message()

endcatch

sqlserver 檢視資料庫正在執行的命令

在sql中有時候我們需要檢視現在正在sql server執行的命令。在分析管理器或者microsoft sql server management studio中,我們可以在 管理 sql server日誌 活動監視器 中檢視。今天我們主要利用master.sysprocesses系統表來檢視。先看...

正在執行的SQL

sql server select spid session id,ecid,database db name sp.dbid user nt username,status er.status,wait wait type,individual query substring qt.text,er...

如何刪除所有正在執行的Docker容器

到現在為止 docker版本1.12 我們使用以下命令刪除所有正在執行的容器 如果我們要刪除卷,我們可以使用以下命令中的相應標記 v手動執行此操作 刪除所有已退出的容器 docker rm docker ps q f status exited 刪除所有已停止的容器 docker rm docker...