1. 刪除資料庫或者恢復資料庫時,一定要先將資料庫離線,在執行刪除、恢復操作。
sql**如下:
1/*使資料庫離線*/2
alter
database
[資料庫名
]set offline with
rollback
immediate34
5/*使資料庫重新上線*/6
alter
database
[資料庫名
]set online
sql**如下:
1/*2要關閉使用者帳號程序,必須獲取帳號的spid值,通過 kill spid 關停帳號
3exec sp_who 可以顯示所有資料庫帳號的spid
4我們篩選想要的spid,就必須通過乙個臨時資料庫,儲存exec sp_who結果,這樣就可以使用select檢索想要的記錄56
1、定義臨時表,儲存exec sp_who 結果集7*/
8create
table #tmptable (spid int,ecid int,status varchar(32),loginname varchar(32),hostname varchar(32),blk int,dbname varchar(32),cmd varchar(32),request_id int)9
10/*
2、向臨時表寫入記錄
*/11
insert
into #tmptable exec
sp_who
1213
/*3、定義變數用於迴圈記錄
*/14
declare
@iint
1516
/*4、 檢索指定記錄
*/17
select@i=
min([
spid
]) from #tmptable where
[dbname]=
'資料庫名
'and
[loginname]=
'使用者帳號'18
19/*
5、中止該帳號程序
*/20
exec('
kill '+
@i)
exec('kill '+@i) 時,我們建議採用迴圈來處理,因為可能
select @i=min([spid]) from #tmptable where [dbname]='資料庫名' and [loginname]='使用者帳號'的結果不存在,優化**:
declare@iint
select@i=
min([
spid
]) from #tmptable where
[dbname]=
'資料庫名
'and
[loginname]=
'使用者帳號
'while
@iis
notnull
begin
exec('
kill'+
@i)select@i=
min([
spid
]) from #tmptable where
[dbname]=
'資料庫名
'and
[loginname]=
'使用者帳號
'and1=
0end
效率上來說,用case 更好一些。不過如果針對多個使用者,用迴圈比較好:
select @i=min([spid]) from #tmptable where [dbname]='資料庫名' and [loginname]='使用者帳號' and [spid]>@i
mysql刪除資料庫資料庫 MySQL刪除資料庫
刪除資料庫是指在資料庫系統中刪除已經存在的資料庫。資料庫刪除之後,原來分配的空間將被收回。需要注意的是,資料庫刪除之後該資料庫中所有的表和資料都將被刪除。因此刪除資料庫要特別小心。一 通過sql語句 mysql中,刪除資料庫通過sql語句drop database。其語法格式如下 drop data...
MS SQL入門基礎 刪除資料
11.2.1 delete 語法 delete 語句用來從表中刪除資料,其語法為 各引數說明如下 from 此引數為可選選項,用於連線delete 關鍵字和要刪除資料的物件名稱。table name 指定要刪除資料的表。with n 指定乙個或多個目標表允許的表提示。view name 指定用於刪除...
刪除資料庫使用者
usr bin ksh 1 upload the shell command to the server 2 grant the 777 to the command 3 use method like as follow dropuser.sh username the username as t...