Avamar: SQL-Multistream-Backup und -Wiederherstellung schlagen möglicherweise mit der Meldung "Die API hat gewartet und das Timeout-Intervall war verstrichen" fehl.
Summary: Wenn sechs oder mehr Streams ~1-TB-Datenbanken auf SQL Server 2017 2019 sichern oder wiederherstellen, kann der Job hängen bleiben und ein Timeout verursachen, da VDI eine Semaphor-Anzahl anstelle von SetEvent verwendet, was zu einem Deadlock in avsql führt. ...
Symptoms
Großes SQL-Backup schlägt mit mehreren Streams fehl
- SQL-Multistreaming-Backup und -Wiederherstellung können mit dem folgenden Fehler fehlschlagen:
2021-09-16 15:01:54 avsql Error <6478>: VDS::Getconfig failed with 'The api was waiting and the timeout interval had elapsed' 2021-09-16 15:01:54 avsql Error <6478>: VDS::Getconfig failed with 'The api was waiting and the timeout interval had elapsed' 2021-09-16 15:01:54 avsql Error <6478>: VDS::Getconfig failed with 'The api was waiting and the timeout interval had elapsed' 2021-09-16 15:01:54 avsql Error <6479>: Timed out. Was Microsoft SQLServer running? - Alle erzeugten avtar-Threads für die
“avsql stack execution”Keine Fortschrittsbytes anzeigen. - Das Problem tritt auf, wenn sechs oder mehr Streams für Datenbanken mit ca. einem Terabyte oder mehr konfiguriert sind.
- Dieses Problem betrifft Microsoft SQL Server 2017- und 2019-Umgebungen. Das Ausführen des Backups mit einem einzigen Stream wird abgeschlossen, dauert jedoch länger.
Cause
Deadlock durch VDI-Verhaltensänderung
Dieses Problem wird durch eine Änderung in der Microsoft VDI-Implementierung (Virtual Device Interface) für SQL Server 2017 und 2019 verursacht. In SQL Server 2016 hat die avsql Das Plug-in verwendete die SetEvent Parameter, um den Abschluss der Backupkonfiguration zu signalisieren. Ab SQL Server 2017/2019 verwendet die VDI-Schicht stattdessen eine Semaphor-Anzahl. Wenn Multistreaming aktiviert ist, wird das avsql Component erhöht die Semaphoranzahl, wodurch die Anzahl ungleich Null bleibt und ein Deadlock entsteht, der verhindert, dass “avsql” Threads werden nicht fortgesetzt, was zu einem Timeout-Fehler führt.
- VDI-Verhaltensunterschied zwischen SQL 2016 (
SetEvent) und SQL 2017/2019 (Semaphor). - Avamar
“avsql”Komponente erwartet dieSetEventSemantik. - Multistreaming aktiviert den Codepfad, der das Semaphor manipuliert.
- Deadlock führt zu keinem Fortschritt bei erzeugten avtar-Threads und der Timeout-Meldung.
Resolution
Dauerhafte Lösung
Führen Sie ein Upgrade des Avamar-Backupclients und des SQL-Plug-ins auf Version 19.10 oder höher durch, einschließlich der Codekorrektur. Dell empfiehlt, ein Upgrade auf die neueste unterstützte Version (z. B. Avamar 19.12.x) durchzuführen, um die neuesten Korrekturen und Verbesserungen zu erhalten.
Wenden Sie den neuesten kumulativen Hotfix für die installierte Version an:
- Für Version 19.10.100-166 HF338875
- Für Version 19.12.100-186 HF953552
Laden Sie den erforderlichen Hotfix vom Dell Support herunter:
Weitere Informationen finden Sie im Artikel Avamar: So suchen und laden Sie Hotfixes, Patches oder Installations- und Upgradepakete vom Dell Support herunter.