tus*_*eau 20 sql-server database-connection database-backups
当我尝试删除或恢复数据库时,SQL Server一直告诉我数据库正在使用,但是当我运行此元数据查询时:
select * from sys.sysprocesses
where dbid
in (select database_id from sys.databases where name = 'NameOfDb')
Run Code Online (Sandbox Code Playgroud)
它什么都不返回.
有时它会返回1个进程,这是一个CHECKPOINT_QUEUE waittype.如果我试图杀死那个进程,它就不会让我(不能杀死非用户进程).
任何人都知道什么是错的?
Mah*_*TAN 31
我喜欢这个剧本.不要为杀人而挣扎..
use master
alter database xyz set single_user with rollback immediate
restore database xyz ...
alter database xyz set multi_user
Run Code Online (Sandbox Code Playgroud)
Smu*_*mur 13
可能有很多东西阻塞了你的数据库.例如,如果您在该数据库上打开了一个查询窗口,那么它将被您锁定.不计算外部访问,如IIS上的Web应用程序.
如果您确实想强制删除它,请检查关闭现有连接选项或尝试手动停止SQL Server的服务.
joe*_*oey 12
尝试从备份还原数据库时,我遇到了同样的问题.对我来说,解决方案是确保在执行还原之前检查了"覆盖现有数据库(WITH REPLACE)"和"关闭目标数据库中的现有连接".这是下面的截图.