Avamar: Inkrementelle sikkerhetskopieringer av AlwaysOn SQL mislykkes tilfeldig på grunn av feil med "log gap"
Summary: For trinnvis sikkerhetskopiering under sammenligning av loggsekvensnummer (LSN) returnerer SQL-serveren den nyeste LSN-en for databasen. Avamar-metadata har imidlertid eldre LSN-verdier i sqlmeta.xml-filen. Dette fører til at inkrementelle SQL-sikkerhetskopier mislykkes med et logghull ble identifisert, eller en fullstendig sikkerhetskopi ble ikke funnet. For klyngesikkerhetskopien ble det observert en generell forsinkelse på ett sekund ved oppdatering av tabell sys.database_recovery_status med den nyeste LSN-verdien. Som et resultat blir det utdaterte LSN-nummeret returnert fra Avamar SQL-plugin-spørringen. ...
Symptoms
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-informasjonen i sqlmeta.xml er utdatert og ikke synkronisert med SQL-servervisningen av den samme databasen.
Cause
For SQL-inkrementelle sikkerhetskopier sammenligner prosessen LSN-nummeret som hentes fra sys.database_recovery_status mens du finner logggap. Spørringen som brukes til denne oppgaven, er:
SELECT last_log_backup_lsn FROM sys.database_recovery_status "WHERE database_id = DB_ID(N’db2-mi')"
Loggen vil se slik ut:
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 filen under denne trinnvise oppdateringen ble oppdatert ved hjelp av følgende spørring:
SELECT last_lsn, type, user_name FROM msdb..backupset WHERE database_name=N'db2-mi' AND type LIKE 'L' ORDER by last_lsn DESC
Resultatene av de to spørringene skal rapportere samme LSN-nummer for databasen.
Hvis resultatet ikke samsvarer, forventes det en bekreftet innbruddssekvens for loggkjede og en loggbruddfeil under trinnvise sikkerhetskopieringer. I et ideelt scenario under sikkerhetskopiering av klynger, etter at sikkerhetskopieringen av Microsoft SQL Server er fullført, sys.database_recovery_status tabellen med den nyeste LSN-verdien. Avamar SQL-pluginmodulen spør etter denne tabellen for LSN og lagrer verdien i SQL-metadata. Under den neste trinnvise sikkerhetskopieringen spør Avamar SQL-plugin-modulen igjen tabellen og henter den nyeste LSN-verdien. Denne LSN sammenlignes deretter med LSN som er lagret i SQL-metadata, og en sikkerhetskopi utføres.
I travle klyngemiljøer i travle Alltid, mens Avamar SQL-plugin-modulen spør tabellen etter LSN-verdien, hentes og lagres eldre LSN-verdier i SQL-metadata. Microsoft SQL Server oppdaterer tabellen etter en stund. Når SQL-plugin-modulen spør tabellen på nytt under neste trinnvise sikkerhetskopiering, får den den nyeste LSN-verdien. Når denne verdien sammenlignes med foreldet LSN, som er lagret i sqlmeta.xml-filen, blir det funnet et logggap, og sikkerhetskopien forfremmes til full.
Resolution
Midlertidig løsning:
- Tving en fullstendig sikkerhetskopi av denne databasen for å løse denne feilen.
- Dette synkroniserer LSN-nummerserien på nytt for den bestemte databasen i sqlmeta.xml- og SQL-serveren.
- Alle etterfølgende trinnvise sikkerhetskopier av denne databasen skal nå fullføres.
Permanent korrigering:
- Kontroller at du legger til flagget "--latest-lsn-from-msdb=true" i avsql.cmd-filen og bruker hurtigreparasjonen (HF) i henhold til klient-plugin-versjonen:
- v19.10-100-135 => Ingen HF tilgjengelig, oppgrader til bygg 166 og bruk tilsvarende HF
- v19.10-100-166 (SP1) => HF 338887
- v19.12-100-186 => HF 338888
Hvis du vil laste ned feilrettingen fra Dell Support-siden, kan du se trinnene som er beskrevet i Avamar: Slik finner og laster du ned en feilretting, korrigering, installasjon eller oppgraderingspakke for et produkt fra Dells nettsted for kundestøtte
Hvis du vil bruke hurtigreparasjonen, følger du instruksjonene fra Dells kundestøtte ved hjelp av README-filen eller ser artikkelen i Dells kunnskapsbase for den spesifikke feilrettingen.
Forsiktig: Hvis problemet vedvarer etter at hurtigreparasjonen er installert, kan du kontakte Dells kundestøtte for å få mer hjelp.