SQL RESTORE WITH RECOVERY; Висит на 100%

Вопрос:Я проделал много исследований об этом. Я пытаюсь восстановить базу данных с SQL Server 2014, и она держится на 100%. Многие люди считают, что решение состоит в том, чтобы просто убедиться, что вы восстановили с помощью опции RECOVERY. Я пробовал это, и он все еще висит на 100%. Я попытался через диалог восстановления SSMS, и

Вопрос:

Я проделал много исследований об этом.

Я пытаюсь восстановить базу данных с 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 ГБ!
Что я сделал, так это то, что я сменил БД на “Простое восстановление”, снова сжал файл журнала, выполнил резервное копирование и теперь могу восстановить.

Оцените статью
Добавить комментарий