SQLserver無法刪除數據庫 "XXXX",因為該數據庫當前正在使用。


問題描述:

有時候刪除庫的時候,會顯示無法刪除數據庫,因為該數據庫當前正在使用。

 

解決方法:

方法一:

EXEC msdb.dbo.sp_delete_database_backuphistory @database_name = N'DB_NAME' --填寫數據庫名稱,(msdb.dbo.sp_delete_database_backuphistory刪除數據庫備份和還原歷史記錄信息)
GO
USE [master]
GO
ALTER DATABASE [填數據庫名] SET  SINGLE_USER WITH ROLLBACK IMMEDIATE --設置庫單用戶模式,和設置立即回滾
GO
USE [master]
GO
DROP DATABASE [填數據庫名]
GO

方法二:

use master 
go 

declare @dbname sysname 
set @dbname = 'DB_NAME' --填寫無法刪除的數據庫名稱

declare @s nvarchar(1000) 
declare tb cursor local 
for 
select s = 'kill ' + cast(spid as varchar) 
from master.dbo.sysprocesses 
where dbid = DB_ID(@dbname) 

open tb 
fetch next from tb into @s 
while @@fetch_status = 0 
begin 
exec (@s) 
fetch next from tb into @s 
end 
close tb 
deallocate tb 

exec ('drop database [' + @dbname + ']')

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM