Avamar. Инкрементное резервное копирование AlwaysOn SQL случайным образом завершается сбоем из-за ошибок «разрыва между журналами»

Summary: Для инкрементного резервного копирования во время сравнения порядковых номеров журналов (LSN) сервер SQL возвращает последний номер LSN для базы данных. Однако метаданные Avamar имеют более старое значение LSN в файле sqlmeta.xml. Это приводит к сбою инкрементного резервного копирования SQL с выявленными пробелами в журналах или отсутствием полной резервной копии. При резервном копировании кластера было замечено, что существует общая задержка в 1 секунду при обновлении табличного sys.database_recovery_status с использованием последнего значения LSN. В результате из запроса подключаемого модуля SQL Avamar возвращается устаревший номер LSN. ...

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

Случайный сбой инкрементного резервного копирования SQL на узлах кластера AlwaysOn с ошибкой:
 
2021/03/22-04:30:53.62299 [avsql_assist]  Before alignment - Str1: '240000000392000001', Str2: '241000000328000001'
2021/03/22-04:30:53.62299 [avsql_assist]  After alignment - Str1: '240000000392000001', Str2: '241000000328000001'
2021/03/22-04:30:53.62299 [avsql_assist]  <=== avsql_assist::align_numeric_ustrings
2021-03-22 00:30:53 avsql Info <15765>: A log gap was identified or a full backup was not found.
2021/03/22-04:30:53.62299 [avsql_assist]  ===> sqlconnect::~sqlconnect
2021/03/22-04:30:53.62299 [avsql_assist]  <=== sqlconnect::~sqlconnect
2021/03/22-04:30:53.62299 [avsql_assist]  <=== avsql_assist::snapup_check_timestamps
2021-03-22 00:30:53 avsql Error <40418>: Skipping database 'oalistener07\OA05_AG/_Sync' due to the following reason: A log gap was identified or a full backup was not found.

Информация LSN в sqlmeta.xml устарела и не синхронизирована с представлением SQL Server той же базы данных.

Cause

Для инкрементного резервного копирования SQL процесс сравнивает номера LSN, полученные из sys.database_recovery_status, при нахождении пробела в журнале. Для решения этой задачи используется следующий запрос:

SELECT last_log_backup_lsn FROM sys.database_recovery_status "WHERE database_id = DB_ID(N’db2-mi')"

Журнал будет выглядеть следующим образом:

2022/08/24-03:28:01.12199 [avsql_assist]  retrieving last backup lsn for 'db2-mi' db from sys.database_recovery_status
2022/08/24-03:28:01.12199 [avsql_assist]  ===> sqlconnectimpl_smo::InitDll
2022/08/24-03:28:01.12199 [avsql_assist]  SMO dll already loaded.
2022/08/24-03:28:01.12299 [avsql_assist]  <=== sqlconnectimpl_smo::InitDll
2022/08/24-03:28:01.12400 [avsql_assist]  ==> SMOWrap::SMO_GetLastBackupLSN
2022/08/24-03:28:01.28200 [avsql_assist]  database 'db2-mi', last backup lsn = '315000000022400001' 
2022/08/24-03:28:01.28200 [avsql_assist]  <=== sqlconnectimpl_smo::get_last_backup_lsn
2022/08/24-03:28:01.28200 [avsql_assist]  ===> avsql_metadata::get
2022/08/24-03:28:01.28200 [avsql_assist]  ===> avsql_metadata::get
2022/08/24-03:28:01.28299 [avsql_assist]  <=== avsql_metadata::get
2022/08/24-03:28:01.28299 [avsql_assist]  <=== avsql_metadata::get
2022/08/24-03:28:01.28299 [avsql_assist]  Last backup LSN: '315000000022400001' (Get from sqlmeta.xml), Current LSN: '315000000022400001'

sqlmeta.xml файл во время этого инкрементного обновления, используя следующий запрос:

SELECT last_lsn, type, user_name FROM msdb..backupset WHERE database_name=N'db2-mi' AND type LIKE 'L' ORDER by last_lsn DESC


В результатах двух запросов должен быть указан один и тот же номер LSN для базы данных.
Если результат не совпадает, то во время инкрементного резервного копирования ожидается подтвержденная последовательность прерывания «цепочки журналов» и ошибка разрыва между протоколами. В идеальном сценарии во время резервного копирования кластера после завершения резервного копирования сервер Microsoft SQL обновляет sys.database_recovery_status таблицы последним значением LSN. Подключаемый модуль SQL Avamar запрашивает LSN в этой таблице и сохраняет значение в метаданных SQL. Во время следующего инкрементного резервного копирования подключаемый модуль SQL Avamar снова запрашивает таблицу и получает последнее значение LSN. Затем этот номер LSN сравнивается с номером LSN, хранящимся в метаданных SQL, и выполняется резервное копирование.

В загруженных кластерных средах Always, когда подключаемый модуль SQL Avamar запрашивает в таблице значение LSN, получается более старое значение LSN, которое сохраняется в метаданных SQL. Сервер Microsoft SQL обновляет таблицу через некоторое время. Во время следующего инкрементного резервного копирования, когда подключаемый модуль SQL снова запрашивает таблицу, он получает последнее значение LSN. При сравнении этого значения с устаревшим номером LSN, хранящимся в файле sqlmeta.xml, обнаруживается логарифмический разрыв и резервная копия переводится в состояние заполнения.

Resolution

Временное временное временное решение проблемы.

  • Выполните принудительное полное резервное копирование этой базы данных для устранения этого сбоя.
    • При этом повторно синхронизируется номерной ряд LSN для конкретной базы данных в sqlmeta.xml и SQL Server.
    • Все последующие инкрементные операции резервного копирования этой базы данных должны быть успешно завершены. 

Окончательное решение

  • Добавьте флаг «--latest-lsn-from-msdb=true» в файл avsql.cmd и примените оперативное исправление (HF) в соответствии с версией подключаемого модуля клиента:
    • v19.10-100-135 => Нет HF доступно, модернизируйте до build 166 и примените соответствующий HF
    • v19.10-100-166 (SP1) => HF 338887
    • v19.12-100-186 => ВЧ 338888

Чтобы скачать оперативное исправление со стороны службы поддержки Dell, выполните действия, описанные в Avamar. Как найти и скачать пакет оперативного исправления, исправления, установки или модернизации продукта с веб-сайта технической поддержки Dell

Чтобы применить оперативное исправление, следуйте инструкциям, предоставленным службой поддержки Dell, используя файл README, или см. статью базы знаний Dell для конкретного оперативного исправления.

Внимание! Если после применения оперативного исправления проблема сохраняется, обратитесь в службу поддержки Dell для получения дополнительной помощи.

Affected Products

Avamar Plug-in for SQL
Article Properties
Article Number: 000184526
Article Type: Solution
Last Modified: 05 Sept 2025
Version:  5
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.