如何删除还原数据库


14

我正在使用SQL Server 2008 R2运行日志传送。

我遇到以下情况:辅助数据库驱动器空间不足,没有应用日志传送事务日志。

我要解决的方法是删除辅助数据库并从头开始配置日志传送。

我现在遇到的问题是辅助数据库处于还原状态,无法删除它们。我该如何进行?

例如,如果我尝试使它们脱机,则会收到错误消息,

ALTER DATABASE is not permitted while the database is in the Restoring state.

您不能在还原数据库上发出alter命令,需要删除。
杰森·坎伯兰

Answers:


25
RESTORE DATABASE dbname 
FROM DISK = 'dbname .bak'
WITH REPLACE, RECOVERY --force restore 

要不就

RESTORE DATABASE dbname WITH RECOVERY

REPLACE覆盖现有的数据库,做到这一点只有当你确定要覆盖现有的数据库,你提到你不在乎将其删除

RESTORE WITH RECOVERY是默认行为,它通过回滚未提交的事务使数据库可以使用。无法还原其他事务日志。

那应该使数据库联机。然后,您可以将其删除并重试。


我相信您所说的应该有效。我的解决方案虽然是重新启动sql服务,然后删除此后起作用的数据库。
彼得2012年

是的,关闭服务后,删除事务日志将始终创建一个新的日志。一切
顺利

3

解决此问题的最佳方法是编写此命令“删除数据库[数据库名称]”,然后创建一个具有相同名称的新数据库,然后从另一个.bak文件还原数据库,因为.bak文件已损坏或出现故障。


关于损坏的备份的问题没有提及。
ypercubeᵀᴹ
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.