У меня есть сервер, на котором работает SQL Server 2019, но базы данных все еще находятся на Compatibility level 110
(так что в основном это означает SQL Server 2012).
Мы делаем ПОЛНУЮ резервную копию каждую ночь, и я действительно вижу, что файлы копируются в нужную папку каждый день. Но если я запустил этот запрос, и я добавляю backup_finish_date desc
, чтобы проверить, когда была сделана последняя ПОЛНАЯ резервная копия. Я вижу, что это дата на несколько месяцев назад:
Итак, я нашел это руководство, в котором говорится, что это может быть ошибка в SQL Server, и предлагается выполнить эту проверку:
USE msdb
GO
SELECT server_name, database_name, backup_start_date, is_snapshot, database_backup_lsn
FROM backupset
... В результате обратите внимание на столбцы database_backup_lsn и is_snapshot. Запись, представляющая фактическую операцию резервного копирования базы данных, имеет следующие характеристики: Значение столбца database_backup_lsn не равно 0. Значение столбца is_snapshot равно 0.
Мне все хорошо, похоже database_backup_lsn column is not 0
и is_snapshot column is 0
Затем в руководстве предлагается выполнить этот запрос для проверки целостности резервной копии:
WITH backupInfo AS( SELECT database_name AS [DatabaseName],
name AS [BackupName], is_damaged AS [BackupStatus],
backup_start_date AS [backupDate],
ROW_NUMBER() OVER(PARTITION BY database_name
ORDER BY backup_start_date DESC) AS BackupIDForDB
FROM msdb..backupset) SELECT DatabaseName
FROM backupinfo WHERE BackupIDForDB = 1 and BackupStatus=1
Результат - ничего!
В руководстве говорится: ... Если этот запрос возвращает какие-либо результаты, это означает, что у вас нет хороших резервных копий базы данных после указанной даты.
Так что теперь я боюсь, что наша резервная копия облажалась. Мы делаем резервную копию с CHECKSUM
, но мы не запускали DBCC CHECKDB
уже много лет, поэтому мы, возможно, (успешно и с CHECKSUM
) делаем резервные копии поврежденных баз данных. Давайте работать:
DBCC CHECKDB('msdb') WITH NO_INFOMSGS, ALL_ERRORMSGS
И результат ничего, так что вроде все хорошо.
И в то же время размер файла журнала (155 ГБ) кажется необычно большим по сравнению с размером файла данных в 514 ГБ
РЕДАКТИРОВАТЬ:
Я делаю полную резервную копию каждую ночь и резервную копию журнала каждый час
ИЗМЕНИТЬ 2:
Брент Озар предлагает запустить SELECT name, log_reuse_wait_desc FROM sys.databases;
, и в результате у меня NOTHING
почти везде: