加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server – SQL RESTORE WITH RECOVERY;挂起率为100%

发布时间:2020-12-12 07:25:56 所属栏目:MsSql教程 来源:网络整理
导读:我对此做了很多研究. 我正在尝试使用SQL Server 2014恢复数据库并且它保持100%挂起. 很多人建议解决方案是确保使用RECOVERY选项进行恢复. 我试过了,它仍然挂在100%.我已尝试通过SSMS还原对话框,我尝试运行以下SQL语句: USE [master]RESTORE DATABASE [MyDB
我对此做了很多研究.

我正在尝试使用SQL Server 2014恢复数据库并且它保持100%挂起.

很多人建议解决方案是确保使用RECOVERY选项进行恢复.

我试过了,它仍然挂在100%.我已尝试通过SSMS还原对话框,我尝试运行以下SQL语句:

USE [master]
RESTORE DATABASE [MyDB]
FROM  DISK = N'C:MyDB_backup_2015_05_05_010004_1506557.bak'
WITH  
    FILE = 1,MOVE N'MyDB_Data' TO N'F:MSSQLDATAMyDB.mdf',MOVE N'MyDB_Log' TO N'F:MSSQLDATAMyDB_1.ldf',NOUNLOAD,REPLACE,RECOVERY,STATS = 2
GO

当我通过以下方式检查命令的状态时:

SELECT r.status,r.command,r.wait_type,r.percent_complete
FROM sys.dm_exec_requests r
WHERE r.command like '%restore%' or r.command like '%backup%'

我明白了:

status: suspended
command: RESTORE DATABASE
wait_type: BACKUPTHREAD
percent_complete: 100

从我的阅读中暗示RESTORE正在等待BACKUP完成,但是没有从我的查询返回到sys.dm_exec_requests的BACKUP命令

编辑:再次尝试并运行上述查询从头开始观察RESTORE的进度后,我可以看到’percent_complete’值正在稳步增加,尽管’status’仍然是’暂停’并且’wait_type’仍为’BACKUPTHREAD’.

因此,尽管它被“暂停”,它实际上仍在执行RESTORE.

所以我很茫然……

任何人都有任何想法在这里发生了什么或任何有关如何诊断问题的提示?

干杯!

解决方法

事实证明,这个问题与环境有关,非常直接:

首先,我试图从原始数据库的非缩小备份版本备份.

日志文件的大小实际上是一个已知问题,因此我们通常从数据库的缩小版本备份.

因此,如果有人遇到类似问题,请先尝试缩小数据库,然后备份并从中恢复.

其次,我试图通过USB3将数据库备份到外部驱动器.

另外,有趣的是,我观察了工作恢复命令的进度,并且它也具有’wait_type’“BACKUPTHREAD”的“暂停”状态 – 即使它仍在进行中(由%_complete中完成百分比增加显而易见)柱!所以我仍然迷失于那是什么……

但至少我现在可以恢复我的备份了:-)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读