由于回滚卡住而无法恢复数据库

1 sql-server restore

当我尝试使用以下命令恢复我的数据库时

RESTORE DATABASE MyDatabase
FROM DISK = '\path\to\my\backup.bak'
WITH REPLACE, RECOVERY
Run Code Online (Sandbox Code Playgroud)

它说

无法获得独占访问权限,因为数据库正在使用中。

经过一些谷歌搜索后,我尝试了这个:

ALTER DATABASE MyDatabase SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
RESTORE DATABASE MyDatabase
FROM DISK = '\path\to\my\backup.bak'
WITH REPLACE, RECOVERY
GO
Run Code Online (Sandbox Code Playgroud)

然而,这似乎需要很长时间,当我最终取消命令时,它告诉我

不合格的事务正在被回滚。预计回滚完成:0%。

该消息重复多次,进度始终为 0%。

我不是 DBA——遗憾的是我的公司没有雇用任何人——而且我不知道从哪里开始。

Bre*_*zar 7

如果可以重新启动 SQL Server 服务,则:

  • 停止 SQL Server 服务
  • 删除 MyDatabase 的旧数据/日志文件
  • 再次启动 SQL Server 服务
  • 此时,您可以删除(离线)数据库
  • 做你的恢复