mssql не работают разностные копии

G
На сайте с 21.05.2024
Offline
0
828
В поддержании порядка 15 серверов с mssql, столкнулся с проблемой разностных резервных копий на четырёх серверах.

Сервер 1
Proxmox 6.2-4
Windows Server 2016
SQL Server 2019 - 15.0.2110.4
SQL Native Client 2012 - 11.4.7001.0

Сервер 2
Proxmox 7.1-7
Windows Server 2019
SQL Server 2019 - 15.0.2110.4
SQL Native Client 2012 - 11.4.7001.0

Сервер 3
Proxmox 7.3-3
Windows Server 2022
SQL Server 2019 - 15.0.2110.4
SQL Native Client 2012 - 11.4.7462.6

Сервер 4
Proxmox 6.2-4
Windows Server 2016
SQL Server 2016 - 13.0.4259.0
SQL Native Client 2012 - 11.4.7001.0

Ошибка -1073548784: Сбой выполнения запроса "BACKUP DATABASE [ИмяБД] TO DISK = N'E:\\SQLB..." со следующей ошибкой: "Не удается выполнить разностное резервное копирование для базы данных "ИмяБД", так как не существует ее текущей резервной копии. Произведите полное резервное копирование базы данных, выполнив инструкцию BACKUP DATABASE без параметра WITH DIFFERENTIAL.
BACKUP DATABASE прервано с ошибкой.". Возможные причины сбоя: проблемы с этим запросом, свойство "ResultSet" установлено неправильно, параметры установлены неправильно или соединение было установлено неправильно.

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

Проверял настройки виртуализации Proxmox, проверял настройки MSSQL, проверял настройки Windows Server, все они одинаковы с другими серверами где всё работает как часы. В плане резервного копирования нет ничего сверхъестественного, только выполнить резервную копию и очистка после обслуживания бэкапов старше 14 дней (её тоже пробовал отключать не помогло.).

Путь к папке на всех серверах не длиннее чем E:\SQLBackup и не содержит кириллице или пробелов. Так же полные права на папку выданы для пользователей, Все, Встроенного пользователя SQL - MSSQLSERVER, Встроенного пользователя Агента - SQLSERVERAGENT.

Задания полной резервной копии и разностной разбиты по расширениям файла razn.bak и full.bak

Базы данных имеют полный режим восстановления

Transact-SQL command:

BACKUP DATABASE [ИмяБД] TO DISK = N''E:\SQLBackup\ИмяБД_backup_2024_05_21_150459_1713475.razn.bak'' WITH DIFFERENTIAL , NOFORMAT, NOINIT, NAME = N''ИмяБД_backup_2024_05_21_150459_1713475'', SKIP, REWIND, NOUNLOAD, COMPRESSION, STATS = 10
GO
declare @backupSetId as int
select @backupSetId = position from msdb..backupset where database_name=N''ИмяБД'' and backup_set_id=(select max(backup_set_id) from msdb..backupset where database_name=N''ИмяБД'' )
if @backupSetId is null begin raiserror(N''Ошибка верификации. Сведения о резервном копировании для базы данных "ИмяБД" не найдены.'', 16, 1) end
RESTORE VERIFYONLY FROM DISK = N''E:\SQLBackup\ИмяБД_backup_2024_05_21_150459_1713475.razn.bak'' WITH FILE = @backupSetId, NOUNLOAD, NOREWIND

GO
htexture
На сайте с 29.05.2017
Offline
213
#1

Конечно не в тему, потому-что не проксмокс, но напишу, что последний раз были проблемы с бекапами, когда система отказалась записывать новый бекап, после того как проверку прошлый бекап не прошел. Начал разбираться, банально один диск был подгулявший и в бедах. Убрал, проблема прошла.

Вот что чатжпт говорит

Судя по вашему описанию, проблема с разностными резервными копиями на четырех серверах связана с тем, что SQL Server не видит предыдущую полную резервную копию, когда пытается выполнить разностное резервное копирование ночью. Есть несколько возможных причин и решений для этой проблемы.

Возможные причины:

  1. Удаление или перемещение файлов полной резервной копии:

    • Возможно, что ночной процесс, другой скрипт или антивирус удаляет или перемещает файл полной резервной копии, что делает разностное резервное копирование невозможным.
  2. Проблемы с Virtual Environment (Proxmox):

    • Возможно, есть проблемы с дисковыми операциями или задержками ввода-вывода в виртуальной среде, что может влиять на доступность файлов резервных копий.
  3. SQL Server Maintenance Plans:

    • Если используются планы обслуживания, возможно, что есть задачи, которые выполняются ночью и могут мешать нормальному процессу резервного копирования.
  4. Права доступа:

    • Хотя вы указали, что права доступа настроены правильно, возможно, что ночью происходят изменения в политике безопасности или прав доступа, что может временно ограничить доступ.

Шаги для диагностики и решения проблемы:

  1. Проверка наличия файлов полной резервной копии:

    • Убедитесь, что файл полной резервной копии доступен в момент выполнения разностного резервного копирования. Это можно сделать, добавив проверку существования файла перед началом разностного резервного копирования.
  2. Журналы и сообщения об ошибках:

    • Проверьте журналы SQL Server (SQL Server Error Log) и системные журналы Windows на наличие сообщений об ошибках, которые могут дать подсказку о причине проблемы.
  3. Выполнение полной резервной копии перед разностной:

    • Создайте скрипт, который выполняет полную резервную копию за несколько минут до разностной, чтобы убедиться, что полная резервная копия всегда актуальна.
  4. Проверка политики безопасности и прав доступа:

    • Убедитесь, что права доступа к папке резервного копирования и файлам не изменяются ночью.
  5. Диагностика виртуальной среды Proxmox:

    • Проверьте журнал Proxmox на предмет возможных проблем с дисковыми операциями или задержками ввода-вывода, особенно в ночное время.
  6. Проверка расписания задач:

    • Убедитесь, что нет конфликтующих задач или процессов, которые могут удалять или блокировать файлы резервных копий ночью.
G
На сайте с 21.05.2024
Offline
0
#2
Ничего из этого

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий