Исходные:
Microsoft SQL Server 2012 - 11.0.2100.60 (X64) Feb 10 2012 19:39:15 Copyright (c) Microsoft Corporation Standard Edition (64-bit) n Windows NT 6.2 <X64> (Build 9200: )
Баз 10 штук.
Планы обслуживания:
full_monthly(полный бэкап) - раз в месяц, хранить за 6 месяцев
diff_weekly(разностный бэкап) - раз в неделю, хранить за 1 месяц
diff_daily(разностный бэкап) - раз в сутки, хранить 1 неделю
jor_daily(журнал бэкап) - каждые два часа в период с 09:00 по 19:00
Содержание планов обслуживания full_monthly, diff_weekly, diff_daily:
1) Проверка целостности базы данных
2) Перестроение индекса
3) Обновление статистики
4) DBCC FREEPROCCACHE
5) Резервное копирование
6) Очистка после обслуживания
7) Очистка журнала
Содержание планов обслуживания jor_daily:
1) резервное копирование
2) очистка после обслуживания
3) очистка журнала
Работало как часы до определенного момента. Проблема в том что изначально не рассчитал объем под бэкапы, ошибся, в результате не уследил переполнился диск с бэкапами, далее за счет этого журналы забили диск с базами. Сделал shrink логов БД. Проверил вручную планы по запускал все - работают. Когда же планы должны автоматически отрабатывать по расписанию, то не работают разностные, при этом полные и журналы спокойно выполняются по расписанию. Проблема именно с разностными и именно по расписанию.
То есть порядок проверки:
1) делаем ручной запуск плана обслуживания full_monthly - успех
2) тоже diff_weekly - успех
3) тоже diff_daily - успех
4) тоже jor_daily - успех
Если дожидаться расписания:
1) full_monthly - успех
2) diff_weekly - ошибка
3) diff_daily - ошибка
4) jor_daily - успех
Ошибки в SSMS:
-1073548784
Сбой выполнения запроса "BACKUP DATABASE [MYBASE] TO DISK = N'B:\\SQL_Bac..." со следующей ошибкой: "Не удается выполнить разностное резервное копирование для базы данных "MYBASE", так как не существует ее текущей резервной копии. Произведите полное резервное копирование базы данных, выполнив инструкцию BACKUP DATABASE без параметра WITH DIFFERENTIAL.
BACKUP DATABASE прервано с ошибкой.". Возможные причины сбоя: проблемы с этим запросом, свойство "ResultSet" установлено неправильно, параметры установлены неправильно или соединение было установлено неправильно.
T-SQL по данной ошибке:
BACKUP DATABASE [MYBASE] TO DISK = N''B:\SQL_Backup\MYBASE\diff_daily\MYBASE_backup_2017_12_12_001956_5159782.bak'' WITH DIFFERENTIAL , NOFORMAT, NOINIT, NAME = N''MYBASE_backup_2017_12_12_001956_5159782'', SKIP, REWIND, NOUNLOAD, STATS = 10
GO
По журналам просмотр событий Windows, раздел приложения:
Ошибка 12.12.2017 0:32:21 MSSQLSERVER 3041 Резервное копирование
SQL Server Scheduled Job 'MYBASE_diff_daily.ВложенныйПлан_1' (0x8534412C9FF07544A5582930ADC67C3F) - Status: Ошибка - Invoked on: 2017-12-12 00:25:55 - Message: Не удалось завершить задание. Запуск задания был произведен Пользователь sa. Последним выполнявшимся шагом был шаг 1 (ВложенныйПлан_1).
Ошибка 12.12.2017 0:32:21 SQLISPackage110 12291 Отсутствует
Package "MYBASE_diff_daily" failed.
Предупреждение 12.12.2017 0:32:22 SQLSERVERAGENT 208 Job Engine
Операция BACKUP не выполнила команду BACKUP DATABASE MYBASE WITH DIFFERENTIAL. Проверьте дополнительные сообщения в журнале приложения резервного копирования.