繁体   English   中英

SQL Server 2005还原挂起

[英]SQL Server 2005 Restore Hanging

我有一个数据库在SQL企业管理器中显示为“(恢复...)”

如果我做SP_WHO,则没有恢复过程。

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

我认为它根本没有恢复。

我怎么能摆脱这个?

我已经尝试重命名底层的MDF文件,但即使我做“NET STOP MSSQLSERVER”它告诉我文件是打开的。

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

在SQL Server日志中,它说“数据库标记为RESTORING,并且处于不允许运行恢复的状态”

Sql Server有两种备份类型:

  • 完全备份,包含整个数据库
  • 事务日志备份,仅包含自上次完全备份以来的更改

还原时,Sql Server会询问您是否要在完全备份后还原其他日志。 如果选择此选项(名为WITH NORECOVERY),数据库将处于“还原”状态。 它将等待恢复更多的事务日志。

您可以使用以下命令将其强制退出恢复模式:

RESTORE DATABASE <DATABASE_NAME> WITH RECOVERY

如果此命令出错,请分离数据库,删除MDF文件,然后从头开始还原。 如果它一直失败,您的备份文件可能已损坏。

这是恢复选项的屏幕截图,默认选中。 第二个选项将使数据库处于还原状态。

恢复选项的图像http://img193.imageshack.us/img193/8366/captureu.png

PS1。 您是否正在运行64位版本的进程资源管理器? 验证您是否在任务管理器中看到procexp64.exe。

PS2。 这更类似于serverfault的问题。

执行RESTORE DATABASE / RESTORE LOG命令时,默认情况下使用WITH RECOVERY选项。 如果您陷入“恢复”过程,则可以通过执行以下操作将数据库恢复为联机状态:

RESTORE DATABASE YourDB WITH RECOVERY
GO

您可以在此SO帖子上查找更多选项和一些第三方工具https://stackoverflow.com/a/21192066/2808398

如果你试图摆脱文件上的锁定,我建议你获取Unlocker http://www.emptyloop.com/unlocker/

它将为您提供解锁文件的选项,或者终止锁定文件的进程。 在mdf和ldf文件上运行此命令。

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

注意:如果您终止进程,可能会丢失数据或数据可能已损坏,因此只有在您尝试删除它并且拥有良好且经过测试的备份时才使用此数据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM