在還原/刪除資料庫時,有時會提示因為資料庫正在使用,所以無法獲得對資料庫的獨佔訪問權!!
這時需要在還原資料庫前先殺死正在使用資料庫得執行緒.
該解決方案用到了系統表中的sysprocesses ,若要訪問 sysprocesses,您必須定位到master 資料庫。
如以下殺死正在使用'jcjq'資料庫的執行緒:
use master
declare @dbname varchar(20)
set @dbname='jcjq' --jcjq你要刪除/還原的資料庫名
declare @sql nvarchar(500)
declare @spid int--spid 值是當使用者進行連線時指派給該連線的乙個唯一的整數
set @sql='declare getspid cursor for
select spid from sysprocesses where dbid=db_id('''+@dbname+''')'
exec (@sql)
open getspid
fetch next from getspid into @spid
while @@fetch_status<>-1--如果fetch 語句沒有執行失敗或此行不在結果集中。
begin
exec('kill '+@spid)--終止正常連線
fetch next from getspid into @spid
endclose getspid
deallocate getspidd
drop database bsc_alarm --刪除資料庫
還原資料庫,資料庫提示正在還原中的處理辦法
還原資料庫時,提示還原成功,可是資料庫列表中該資料庫顯示正在還原中 執行此命令即可 了解sqlserver指令碼之資料庫誤刪資料找回 1.至少有乙個誤刪除之前的資料庫完全備份。2.資料庫的恢復模式 recovery mode 是 完整 full 一 還原需要的條件設定 使用命令,是通過sqlserv...
還原資料庫,資料庫提示正在還原中的處理辦法
還原資料庫時,提示還原成功,可是資料庫列表中該資料庫顯示正在還原中 執行此命令即可 了解sqlserver指令碼之資料庫誤刪資料找回 1.至少有乙個誤刪除之前的資料庫完全備份。2.資料庫的恢復模式 recovery mode 是 完整 full 一 還原需要的條件設定 使用命令,是通過sqlserv...
Sql Server 中 刪除正在使用的資料庫
刪除正在使用的資料庫 sp dboption sql server 聯機叢書 ms help 刪除方式1 物理檔案將會被刪除 single user true 每次只能有乙個使用者訪問資料庫 use master exec sp dboption bbs single user true godro...