当前位置: 代码迷 >> Sql Server >> 还原数据库时看到数据库名称后面有(in recovery),是什么意思,是质疑吗,想把此数据库删除也删不了,说找不到文件,怎么处理
  详细解决方案

还原数据库时看到数据库名称后面有(in recovery),是什么意思,是质疑吗,想把此数据库删除也删不了,说找不到文件,怎么处理

热度:108   发布时间:2016-04-27 21:16:38.0
还原数据库时看到数据库名称后面有(in recovery),是什么意思,是质疑吗,想把此数据库删除也删不了,说找不到文件,怎么办?
还原数据库时看到数据库名称后面有(in     recovery),是什么意思,是质疑吗,想把此数据库删除也删不了,说找不到文件,怎么办?

------解决方案--------------------
1.楼主的数据库备份是完全备份吗?

2.数据库还原时,是否在恢复完成状态中,选择了数据库不再运行,当可以还原其他事务日志
------解决方案--------------------
NORECOVERY

指示还原操作不回滚任何未提交的事务。如果需要应用另一个事务日志,则必须指定 NORECOVERY 或 STANDBY 选项。如果 NORECOVERY、RECOVERY 和 STANDBY 均未指定,则默认为 RECOVERY。

当还原数据库备份和多个事务日志时,或在需要多个 RESTORE 语句时(例如在完整数据库备份后进行差异数据库备份),SQL Server 要求在除最后的 RESTORE 语句外的所有其它语句上使用 WITH NORECOVERY 选项。


说明 如果指定 NORECOVERY 选项,数据库将处于这个中间的未恢复状态而不可用。


当用于文件或文件组还原操作时,NORECOVERY 强制数据库在还原操作结束后保持还原状态。这在以下情况中很有用:

还原脚本正在运行并且始终要应用日志。


使用文件还原序列,并且在两次还原操作之间不能使用数据库。
RECOVERY

指示还原操作回滚任何未提交的事务。在恢复进程后即可随时使用数据库。

如果安排了后续 RESTORE 操作(RESTORE LOG 或从差异数据库备份 RESTORE DATABASE),则应改为指定 NORECOVERY 或 STANDBY。

如果 NORECOVERY、RECOVERY 和 STANDBY 均未指定,则默认为 RECOVERY。当从 SQL Server 早期版本中还原备份集时,可能要求将数据库升级。如果指定了 WITH RECOVERY,升级将自动进行。有关更多信息,请参见事务日志备份。

STANDBY = undo_file_name

指定撤消文件名以便可以取消恢复效果。撤消文件的大小取决于因未提交的事务所导致的撤消操作量。如果 NORECOVERY、RECOVERY 和 STANDBY 均未指定,则默认为 RECOVERY。

STANDBY 允许将数据库设定为在事务日志还原期间只能读取,并且可用于备用服务器情形,或用于需要在日志还原操作之间检查数据库的特殊恢复情形。

如果指定的撤消文件名不存在,SQL Server 将创建该文件。如果该文件已存在,则 SQL Server 将重写它。

对同一数据库的连续还原可以使用相同的撤消文件。有关更多信息,请参见使用备用服务器。


重要 如果指定的撤消文件所在的驱动器上没有可用的磁盘空间,还原操作将停止。


如果必须升级数据库,则不允许 STANDBY
  相关解决方案