Avamar: Tworzenie wielostrumieniowej kopii zapasowej i przywracanie SQL może zakończyć się niepowodzeniem z komunikatem "Interfejs API oczekiwał i upłynął odstęp czasu"
Summary: Gdy sześć lub więcej strumieni tworzy kopię zapasową lub przywraca bazy danych o pojemności ~1 TB w programie SQL Server 2017 2019, zadanie może zostać zatrzymane i przekroczyć limit czasu, ponieważ infrastruktura VDI używa liczby semaforów zamiast SetEvent, powodując zakleszczenie w avsql. ...
Symptoms
Duża kopia zapasowa SQL kończy się niepowodzeniem przy wielu strumieniach
- Tworzenie kopii zapasowych i przywracanie danych SQL multistreaming może zakończyć się niepowodzeniem z następującym błędem:
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? - Wszystkie zduplikowane wątki avtar dla
“avsql stack execution”Nie pokazuje bajtów postępu. - Problem występuje, gdy sześć lub więcej strumieni jest skonfigurowanych dla baz danych o pojemności około jednego terabajta lub większej.
- Ten problem dotyczy środowisk Microsoft SQL Server 2017 i 2019. Uruchamianie kopii zapasowej z jednym strumieniem kończy się, ale trwa dłużej.
Cause
Zakleszczenie spowodowane zmianą zachowania infrastruktury VDI
Ten problem jest spowodowany zmianą w implementacji interfejsu Microsoft Virtual Device Interface (VDI) dla SQL Server 2017 i 2019. W SQL Server 2016 r. avsql Wtyczka użyła SetEvent parametr sygnalizujący zakończenie konfiguracji kopii zapasowej. Począwszy od SQL Server 2017/2019, warstwa VDI używa zamiast tego liczby semaforów. Po włączeniu przesyłania strumieniowego z wieloma strumieniami avsql zwiększa liczbę semaforów, co powoduje, że liczba jest różna od zera i tworzy zakleszczenie, które zapobiega “avsql” wątki przed postępem, co powoduje błąd przekroczenia limitu czasu.
- Różnica w zachowaniu VDI między SQL 2016 (
SetEvent) i SQL 2017/2019 (semafor). - Avamar
“avsql”komponent oczekuje, żeSetEventsemantyka. - Multistreaming aktywuje ścieżkę kodu, która manipuluje semaforem.
- Zakleszczenie prowadzi do braku postępu w zduplikowanych wątkach avtar i komunikatu o przekroczeniu limitu czasu.
Resolution
Trwałe rozwiązanie
Uaktualnij klienta kopii zapasowej Avamar i wtyczkę SQL do wersji 19.10 lub nowszej, co obejmuje poprawkę kodu. Firma Dell zaleca aktualizację do najnowszej obsługiwanej wersji (na przykład Avamar 19.12.x) w celu uzyskania najnowszych poprawek i udoskonaleń.
Zastosuj najnowszą poprawkę zbiorczą dla zainstalowanej wersji:
- Dla wersji 19.10.100-166 HF338875
- Dla wersji 19.12.100-186 HF953552
Pobierz wymaganą poprawkę ze strony działu pomocy technicznej firmy Dell:
Aby uzyskać więcej informacji, zapoznaj się z artykułem Avamar: Jak znaleźć i pobrać poprawki, poprawki lub pakiet instalacyjny i uaktualnieniowy z pomocy technicznej firmy Dell .