首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用恢复的SQL还原;挂起100%

问使用恢复的SQL还原;挂起100%
EN

Stack Overflow用户
提问于 2015-05-06 01:05:14
回答 2查看 33K关注 0票数 9

我对此做了很多研究。

我正在尝试用Server 2014恢复一个数据库,它一直挂在100%的位置上。

许多人建议,解决方案就是确保使用恢复选项进行恢复。

我试过了,现在还挂着100%。我尝试通过SSMS还原对话框,并尝试运行以下SQL语句:

代码语言:javascript
复制
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:\MSSQL\DATA\MyDB.mdf',  
    MOVE N'MyDB_Log' TO N'F:\MSSQL\DATA\MyDB_1.ldf',  
    NOUNLOAD,  
    REPLACE,  
    RECOVERY,
    STATS = 2
GO

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

代码语言:javascript
复制
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%'

我得到:

代码语言:javascript
复制
status: suspended
command: RESTORE DATABASE
wait_type: BACKUPTHREAD
percent_complete: 100

从我的阅读中可以看出,还原正在等待备份的完成,但是没有从我对sys.dm_exec_requests的查询中返回的备份命令。

编辑:在再次尝试并运行上面的查询从一开始就观察恢复的过程之后,我可以看到'percent_complete‘值正在稳步增长,尽管'wait_type’仍然是‘暂停’,‘wait_type’仍然是'BACKUPTHREAD‘。

因此,尽管它被“挂起”,它实际上仍然在执行恢复。

所以我不知所措..。

有人知道这里发生了什么,或者有什么关于如何诊断这个问题的建议吗?

干杯!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-05-15 07:15:44

事实证明,这个问题与环境有关,而且相当直截了当:

首先,我试图从原始数据库的非收缩备份版本中进行备份。

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

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

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

而且,有趣的是,我看到了工作恢复命令的进展,它也有'wait_type‘"BACKUPTHREAD“的”暂停“状态--即使它仍在进展中(从percent_complete中完成的百分比增加中可以看出)!所以我还是不知道那是怎么回事.

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

票数 6
EN

Stack Overflow用户

发布于 2016-07-12 07:48:05

我也有同样的问题,这是由于数据库的大小。虽然备份显示9 MB,但当我在SQL server管理中右键单击DB并选择属性时,显示的大小为25 GB!我所做的是将DB更改为“简单恢复”,缩小日志文件,再次备份,现在就可以恢复。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30065777

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档