还原数据库时看到数据库名称后面有(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