我已經做了大量的研究。SQL RESTORE WITH RECOVERY;掛在100%
我試圖用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正在等待備份完成,但沒有從我的查詢返回到sys.dm_exec_requests的BACKUP命令
編輯:再次嘗試並運行上述查詢以從一開始就觀察RESTORE的進度後,我可以看到「percent_complete」值穩步增加,儘管「狀態」仍爲'暫停','wait_type'仍然是'BACKUPTHREAD'。
因此,儘管它被「暫停」,但它實際上仍在執行RESTORE。
所以我不知所措......
任何人有什麼是怎麼回事任何想法或對如何診斷問題的提示?
乾杯!
可以檢查'sp_who'和'sp_who2'來知道哪個數據庫有待處理的備份? – Jaxedin
sp_who或sp_who2中沒有包含cmd'BACKUP'的行 – JTech
您等待了多長時間?你的日誌文件有多大?它包含多少個VLF?備份時數據庫的狀態是什麼?你有跟蹤標誌3004和3014嗎? (見[這篇文章](http://www.rdx.com/Blog/dba_tips/2011/03/undocumented-trace-flags-inside-the-restore-process/)。) –