SQL Server 2005还原挂起

SQL Server 2005还原挂起,sql,sql-server,sql-server-2005,restore,Sql,Sql Server,Sql Server 2005,Restore,我有一个数据库在SQL Enterprise Manager中显示为“(正在恢复…) 如果我不使用SP_,则没有恢复过程 服务器上的磁盘和CPU活动非常低 我认为它根本没有恢复 我怎样才能摆脱这个 我尝试过重命名底层MDF文件,但即使在我执行“NET STOP MSSQLSERVER”时,它也会告诉我该文件已打开 我曾尝试使用PROCEXP查找打开文件的进程,但即使是最新的PROCEXP似乎也无法在Windows Server 2003 R2 x64上执行此操作。下窗格视图为空 SQL Serv

我有一个数据库在SQL Enterprise Manager中显示为“(正在恢复…)

如果我不使用SP_,则没有恢复过程

服务器上的磁盘和CPU活动非常低

我认为它根本没有恢复

我怎样才能摆脱这个

我尝试过重命名底层MDF文件,但即使在我执行“NET STOP MSSQLSERVER”时,它也会告诉我该文件已打开

我曾尝试使用PROCEXP查找打开文件的进程,但即使是最新的PROCEXP似乎也无法在Windows Server 2003 R2 x64上执行此操作。下窗格视图为空


SQL Server日志中显示“数据库已标记为还原,并且处于不允许运行恢复的状态”

SQL Server有两种备份类型:

  • 完整备份,包含整个数据库
  • 事务日志备份,仅包含自上次完全备份以来的更改
恢复时,Sql Server会询问您是否要在完全备份后恢复其他日志。如果选择此选项(使用NORECOVERY调用),则数据库将保持还原状态。它将等待恢复更多事务日志

您可以使用以下方法强制其退出还原模式:

RESTORE DATABASE <DATABASE_NAME> WITH RECOVERY
通过恢复恢复数据库
如果此命令出现错误,请分离数据库,删除MDF文件,然后从头开始恢复。如果继续失败,则备份文件可能已损坏

下面是还原选项的屏幕截图,默认选项已选中。第二个选项将使数据库保持还原状态

p.S.1.您是否正在运行64位版本的process explorer?验证是否在任务管理器中看到procep64.exe


p.S.2.这更像是一个问题。

如果您试图解除文件上的锁定,我建议您解除锁定

它将为您提供一个选项来解锁文件,或终止锁定文件的进程。在mdf和ldf文件上运行此操作

另一个选项是尝试从Enterprise Manager或Sql Management Studio分离文件,然后重新连接数据库。您可以在运行unlocker之前尝试此操作,以查看sql server是否只释放mdf和ldf文件


警告:如果终止该进程,则可能会丢失数据或数据可能会损坏,因此,只有在尝试清除该进程并且备份良好且经过测试的情况下,才可以使用此选项。

在执行还原数据库/还原日志命令时,默认情况下使用带恢复选项。如果您陷入“恢复”过程,您可以通过执行以下命令将数据库恢复到联机状态:

RESTORE DATABASE YourDB WITH RECOVERY
GO

您可以在此帖子上查找更多选项和一些第三方工具,因此如果分离数据库,将无法再次重新连接它。无法连接处于还原状态的数据库。因此,如果您将其分离,最好有一个可以从中恢复的备份