Восстановление ежедневного разностного резервного копирования - файлы не готовы к накату - PullRequest
0 голосов
/ 13 марта 2019

Я использую SQL Server.Существует проблема с моим дифференциальным резервным копированием.Я делаю полное резервное копирование своей базы данных в конце недели и, кроме того, я также делаю разностное резервное копирование базы данных ежедневно.Я создал задание, которое автоматически выполняет резервное копирование.После того, как я принял эти полные и разные выпечки, я каждый день и неделю восстанавливаю их с помощью рабочего шуделяра.Мое задание полного восстановления успешно выполняется каждую неделю, но при попытке выполнить другое задание, которое восстанавливает ежедневное разностное резервное копирование, происходит сбой с сообщением об ошибке «Невозможно восстановить журнал или разностное резервное копирование, поскольку ни один файл не готов к переносу».

У меня есть два сервера баз данных.Один из них - рабочий сервер, а другой - сервер отчетов.Сервер отчетов содержит ту же базу данных на рабочем сервере базы данных.В конце каждой недели я делаю полное резервное копирование сервера db in prodcution db для сервера отчетов.Таким же образом каждую полночь я также делаю разностное резервное копирование БД на сервере prodcution для сервера отчетов.На следующий день я восстанавливаю последний diff обратно в базу данных на сервере отчетов.Я использую визуальный инструмент cron для процесса, но он потерпел неудачу с этой ошибкой.Я попытался восстановить руководство, но получил то же сообщение об ошибке.

Вот мои команды восстановления.

EXEC [dbo].[DatabaseRestoreMany] 
    @Databases = 'DB_2004',
    @BackupRoot = '\\BCKPSRVR\BKUP\',
    @BackupTypes = 'DIFF',
    @DataFileDirectory = 'D:\DBFILES\DB_2004\',
    @LogFileDirectory = 'D:\DBFILES\DB_2004\',
    @DirectoryPerDatabase = 'Y',
    @RecoveryState = 'STANDBY',
    @ReturnBackupList = 'N',
    @ReturnTaskList = 'N',
    @Execute = 'Y'

Как я могу решить эту проблему?Вы можете мне помочь?

Заранее спасибо.

1 Ответ

0 голосов
/ 13 марта 2019

У вас есть эта ошибка, потому что full backup не было восстановлено до вашего восстановления с differential backup.

Сегодня среда.В воскресенье я восстановил полную резервную копию базы данных.

Вы восстановили полную резервную копию с помощью recovery.Ваша база данных стала работоспособной, она online, и теперь больше нельзя восстанавливать log или differential backup.

Чтобы восстановить differential backup, сначала необходимо восстановить full backup norecovery, и только после этого вы сможете восстановить differential backup.

Пожалуйста, обратитесь к этой статье BOL, чтобы понять, как можно восстановить разностное резервное копирование: Восстановить разностное резервное копирование базы данных (SQL Server)

Восстановление разностной резервной копии базы данных

Выполните инструкцию RESTORE DATABASE, указав условие NORECOVERY, для восстановления полной резервной копии базы данных, предшествующей разностной резервной копии базы данных.Дополнительные сведения см. В разделе Практическое руководство. Восстановление полной резервной копии.

Выполните инструкцию RESTORE DATABASE для восстановления резервной копии разностной базы данных, указав:

Имя базы данных, в которую создается резервная копия разностной базы данных.

Устройство резервного копирования, с которого восстанавливается дифференциальная резервная копия базы данных.

Предложение NORECOVERY, если у вас есть резервные копии журнала транзакций, которые нужно применить после восстановления дифференциальной резервной копии базы данных.В противном случае укажите предложение RECOVERY.

...