Вопрос:
Я проделал много исследований об этом.
Я пытаюсь восстановить базу данных с 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, но нет команды BACKUP, возвращенной из моего запроса, в sys.dm_exec_requests
EDIT: после повторного запроса и выполнения вышеуказанного запроса, чтобы увидеть прогресс RESTORE с самого начала, я вижу, что значение “percent_complete” неуклонно растет, несмотря на то, что “статус” остается “приостановленным” ‘и’ wait_type ‘остается как’ BACKUPTHREAD ‘.
Таким образом, несмотря на то, что он был “приостановлен”, он по-прежнему выполняет RESTORE.
Итак, я в недоумении…
У кого-нибудь есть идеи, что здесь происходит или какие советы по диагностике проблемы?
Ура!
Лучший ответ:
Как выясняется, проблема связана с окружающей средой и довольно прямолинейна:
Прежде всего, я пытался создать резервную копию из резервной копии исходной базы данных.
Размер файлов журнала был фактически известной проблемой, поэтому мы обычно создаем резервную копию из сокращенной версии базы данных.
Итак, если у кого-то есть аналогичная проблема, сначала пытайтесь сначала сжать базу данных, а затем выполнить ее резервное копирование и восстановить с этого.
Во-вторых, я пытался архивировать базу данных на внешний диск через USB3.
Кроме того, интересно, я наблюдал за ходом рабочей команды восстановления, и у нее тоже был статус “приостановлен” с “wait_type” “BACKUPTHREAD” – даже в то время как он все еще продолжался (о чем свидетельствует процент увеличения завершения в столбец percent_complete)! Так что я все еще теряюсь в отношении того, что это касается…
Но по крайней мере я могу восстановить свои резервные копии сейчас: -)
Ответ №1
У меня была та же проблема, что и из-за размера БД.
Хотя резервная копия показывает 9 МБ, когда я нажимаю правой кнопкой мыши на БД в управлении сервером SQL и выбираю свойства, размер показывал 25 ГБ!
Что я сделал, так это то, что я сменил БД на “Простое восстановление”, снова сжал файл журнала, выполнил резервное копирование и теперь могу восстановить.