gpt4 book ai didi

sql-server - SQL 恢复恢复;卡在 100%

转载 作者:行者123 更新时间:2023-12-02 13:29:11 28 4
gpt4 key购买 nike

我对此做了很多研究。

我尝试使用 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:\MSSQL\DATA\MyDB.mdf',
MOVE N'MyDB_Log' TO N'F:\MSSQL\DATA\MyDB_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”。

因此,尽管它被“暂停”,但它实际上仍在执行恢复。

所以我很茫然......

有人知道这里发生了什么或者有任何关于如何诊断问题的提示吗?

干杯!

最佳答案

事实证明,这个问题与环境有关,而且非常简单:

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

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

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

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

此外,有趣的是,我观察了工作恢复命令的进度,它也具有“暂停”状态,“wait_type”“BACKUPTHREAD” - 即使它仍在进行中(从完成百分比增加可以明显看出) %_complete) 列!所以我仍然不知道那是什么......

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

关于sql-server - SQL 恢复恢复;卡在 100%,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30065777/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com