mssql刪除資料庫 刪除帳號錯誤解決方法

2022-07-28 11:09:29 字數 1921 閱讀 4982

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...