Назад | Перейти на главную страницу

«Невозможно выполнить дифференциальное резервное копирование базы данных« myDb », так как текущая резервная копия базы данных не существует».

При попытке сделать дифференциальную резервную копию у меня возникает довольно распространенная проблема. У нас есть SQL Server 2008 Standard (64 бит), и мы используем Litespeed v 5.0.2.0 для резервного копирования. Мы делаем полные резервные копии раз в неделю, а дифференциальные - ежедневно. Проблема в том, что каждый раз, когда я пытаюсь сделать резервную копию различий, я получаю следующую ошибку:

Ошибка открытия VDI из-за запрошенного прерывания
BACKUP DATABASE аварийно завершает работу.

Невозможно выполнить дифференциальное резервное копирование для базы данных «myDb», поскольку текущая резервная копия базы данных не существует. Выполните полное резервное копирование базы данных, повторно выполнив BACKUP DATABASE, опуская параметр WITH DIFFERENTIAL.

Проблема в том, что я на 100% знаю, что у меня есть полная резервная копия, потому что я дважды проверил. Только однажды мне удалось сделать резервную копию различий, и это было тогда, когда я сделал ее сразу после того, как сделал полную резервную копию.

Я поискал и заметил, что это довольно распространено (хотя в основном с SQL 2005), и решение, которое предлагают многие люди, но которое я еще не пробовал, - это отключить службу SQL Server VSS Writer. Проблема с этим №1. Я думаю, мне может понадобиться эта услуга, поскольку я использую стороннее программное обеспечение для резервного копирования, а №2. Я не совсем уверен, что именно делает служба, и не хочу отключать ее просто так.

Кто-нибудь из вас когда-нибудь сталкивался с этой проблемой и как вы ее исправляли?

Спасибо,

Вы выполняете резервное копирование VSS на сервере (NTbackup, BE и т. Д.) Для других вещей, кроме данных SQL? В соответствии с этот, дифференциальные резервные копии SQL могут быть признаны недействительными, если программное обеспечение резервного копирования использует VSS для моментальных снимков.

Насколько мне известно, LS не использует VSS, как сказал Ник. В соответствии с эта тема исправление заключалось в отключении службы записи SQL.

Обновление на основе комментариев:

Поскольку вы используете NTbackup для резервного копирования других файлов на сервере, исправление будет заключаться в отключении службы записи SQL.

Когда NTbackup запускается, он вызывает ВСЕ доступные писатели VSS, даже если они вам не нужны. Это означает, что средство записи SQL переведет базу данных в согласованное состояние (сбросить кеш на диск), пока создается моментальный снимок. Затем БД считает, что резервная копия была создана, даже если вы не копировали информацию из теневой копии. Это то, что ломает ваши резервные копии.

Одна вещь, которую вы можете проверить, чтобы увидеть, работает ли VSS с базами данных (что, я уверен, это так и разрывает цепочку), - это посмотреть в журнале SQL (я думаю, что это в журнале ошибок). Вы должны видеть события замораживания / размораживания во время выполнения ваших заданий NTbackup.

Наиболее частая причина возникновения этой проблемы - если у вас есть другое программное обеспечение для резервного копирования (NTBackup, BE, Bacula и т. Д.), Которое делает моментальный снимок (копии VSS - теневое копирование тома) вашей базы данных, тогда это может вызвать цепочку резервных копий сломаны и аннулируют ваши предыдущие ДИФФЕРЕНЦИАЛЬНЫЕ резервные копии, поэтому, когда ваш текущий процесс ДИФФЕРЕНЦИАЛЬНОГО резервного копирования запускается, он завершится ошибкой, так как он не сможет увидеть, что до него было выполнено первоначальное ПОЛНОЕ резервное копирование или другое ДИФФЕРЕНЦИАЛЬНОЕ резервное копирование.

Прежде всего, вам нужно выяснить, какой программный инструмент создает резервные копии моментальных снимков вашей базы данных, потому что есть несколько способов решения этой проблемы. Рассмотрим наиболее распространенный случай, когда резервные копии снимков создаются с помощью NTBackup. Решение для NTBackup В первую очередь проверьте SQL Server VSS Writer в меню «Служба», он должен иметь следующие параметры: Тип запуска: Вручную, и служба должна быть остановлена. Если служба модуля записи VSS SQL Server запущена и сделан моментальный снимок, модель полного восстановления будет заблокирована, а цепочка резервного копирования будет разорвана. Чтобы изменить настройки SQL Server VSS Writer, перейдите в «Звездное меню» и найдите «Службы», в открывшемся окне выберите «SQL Server VSS Writer».

Щелкните правой кнопкой мыши службу и выберите «Свойства», в открывшемся окне установите для параметра «Тип запуска» значение «Вручную», нажмите «Стоп» в разделе «Состояние службы», чтобы убедиться, что служба не запускается автоматически после перезапуска компьютера. компьютер и нажмите «ОК», чтобы применить все изменения.

Прошло несколько лет с тех пор, как я использовал Lightspeed, поэтому это могло измениться, но разве Light Speed ​​не предоставляет свои собственные расширенные хранимые процедуры для выполнения резервного копирования? в этом случае вы должны вызвать их, чтобы провести дифференциал. Вероятно, вам не следует вызывать собственные команды BACKUP DATABASE. Я не думаю, что вы можете смешивать и сопоставлять собственные резервные копии / резервные копии со скоростью света.

Я пробовал ковыряться в документации продукта квестов онлайн, но увы нужно быть заказчиком.

С точки зрения собственного резервного копирования SQL Server, если вы никогда не делали полную резервную копию, вы не сможете выполнить дифференциальную.

Служба VSS позволяет выполнять резервное копирование SQL-сервера на уровне файлов с помощью теневого копирования тома. Если вы используете Lightspeed для резервного копирования и исключаете каталог sql-сервера из резервных копий на уровне сервера (ОС), вероятно, можно отключить это. Вероятно, это не связано с невозможностью делать дифференциальные резервные копии.

Устраняет ли проблему перезапуск экземпляра сервера sql? если это так, вы можете посмотреть на увеличение количества серверов sql memtoleave Проверь это.

У меня была такая же проблема, хотя Bacula делал снимки базы данных, а также мои собственные резервные копии SQL Server. Есть какая-то ошибка, из-за которой это происходило в подмножестве баз данных на сервере, что очень раздражало. В конце концов, я решил изменить время резервного копирования, чтобы резервное копирование SQL выполнялось после резервного копирования Bacula, чтобы убедиться, что внутренние флаги SQL-серверов правильно сброшены, чтобы отметить, что была сделана полная резервная копия. Это было в 2005 году - думаю, те же проблемы с VDI затронули и 2008 год.

Для исх. Вот был мой предыдущий вопрос.