原帖:
https://bbs.csdn.net/topics/390975781
https://www.cnblogs.com/accumulater/p/6552385.html
1,設置數據庫在單用戶模式下工作。
設置方法:在需要還原的數據庫上右擊,在右鍵菜單命令上選擇"屬性"- >"選項"- >"狀態"- >"限制訪問"- >"Single"。這是SQLSERVER2005的菜單命令,其它版本請自己查找。
2,利用SQL語句,殺死正在使用該數據庫的所有進程,自己以前在做一個SQL SERVER操作小工具的時候有寫過該功能的SQL,貼出來供大家參考:
1 declare @dbname varchar(50) 2 set @dbname='數據庫名稱' 3 declare @sql varchar(50) 4 declare cs_result cursor local for select 'kill '+cast(spid as varchar(50)) from sys.sysprocesses where db_name(dbid)=@dbname 5 open cs_result 6 fetch next from cs_result into @sql 7 while @@fetch_status=0 8 begin 9 execute(@sql) 10 fetch next from cs_result into @sql 11 end 12 close cs_result 13 deallocate cs_result
該SQL語句利用游標循環所有正在使用該數據庫的進程,並通過kill命令殺死進程。
3,利用SQL語句,斷開所有用戶鏈接,並回滾所有事務,具體SQL語句如下:
ALTER DATABASE [數據庫名稱] SET OFFLINE WITH ROLLBACK IMMEDIATE
以上方法都試過,無用。
后來查看還原窗口左側選項頁簽,把結尾日志備份選項取消勾選還原成功。