Avamar: Tworzenie kopii zapasowej lub przeglądanie SQL kończy się niepowodzeniem z błędem "avsql <15760>: Brak celów po rozszerzeniu"
Summary: Operacja tworzenia kopii zapasowej i przeglądania oparta na Avamar SQL kończy się niepowodzeniem dla autonomicznych serwerów SQL i klientów klastra. Kopia zapasowa lub przeglądanie bazy danych Avamar SQL kończy się niepowodzeniem z komunikatem "avsql Error" <15760>: Brak celów po rozszerzeniu." Jest to spowodowane brakiem ról sysadmin, problemami z połączeniem, problemami z połączeniem usług Windows Management Instrumentation (WMI), problemami z komunikacją portu Avamar lub brakującymi plikami dll obiektów zarządzania SQL Server (SMO). ...
Symptoms
Wystąpił problem z tworzeniem kopii zapasowych Avamar SQL i przeglądaniem baz danych zarówno w środowiskach autonomicznych, jak i klastrowych SQL.
Scenariusz przypadku
Utwórz kopię zapasową problemu i przeglądaj go za pomocą wtyczki avsql z poziomu graficznego interfejsu użytkownika konsoli administratora Avamar lub AUI.
Zapasowe kody błędów: avsql Error <15760>: Brak celów po rozszerzeniu!
Jeśli ten błąd występuje w kopiach zapasowych, oznacza to, że problem z przeglądaniem i informacje o bazie danych nie są pobierane za pomocą avsql usługi.
Kopia zapasowa Avamar SQL (avsql) lub przeglądanie bazy danych kończy się niepowodzeniem z "avsql Error <15760>: No targets after expansion!"
Operacja tworzenia kopii zapasowej i przeglądania oparta na Avsql kończy się niepowodzeniem dla autonomicznych serwerów SQL i klientów klastra.
Cause
- Brak ról sysadmin dla konta użytkownika lub użytkownika usługi Active Directory (SQL 2012 lub nowszego) używanego w ramach usług agenta tworzenia kopii zapasowych.
- Problem z połączeniem między SQL SMO a wtyczką Avamar SQL.
- Problem z połączeniem usług WMI między serwerem SQL a usługami systemu Windows.
- Porty komunikacyjne Avamar są niedostępne.
- Brakujące pliki SMO dll lub inne wymagane pliki, które służą do pobierania informacji z bazy danych.
Resolution
Autonomiczne serwery SQL
- Brak ról sysadmin dla konta użytkownika używanego w ramach usług agenta kopii zapasowych. Zapoznaj się z artykułem bazy wiedzy na temat przypisywania ról sysadmin:
- Skonfiguruj uprawnienia pełnej kontroli dla konta usługi AD używanego dla SQL Server 2012 i nowszych. Bardziej szczegółowe informacje znajdują się na stronie 11 podręcznika użytkownika Avamar SQL w wersji 19.9
- Brak wymaganych plików SMO dla usług SQL Server.
- Zainstalowaną wersję SMO można zweryfikować za pomocą programu i funkcji panelu>>sterowania. Jeśli brakuje wersji SMO powiązanej z wersją SQL Server, pobierz ją i zainstaluj z witryny firmy Microsoft
- Aby pobrać pakiet SMO dla różnych wersji SQL
- Pobieranie SMO/CLR SQL 2008 i 2008 R2:
- Pobieranie SMO/CLR SQL 2012 R2:
- Pobieranie SQL 2014 SMO/CLR:
- Pobieranie SQL 2016 SMO/CLR:
- SQL 2017 i nowsze SMO są dystrybuowane przez firmę Microsoft jako "Microsoft.SqlServer.SqlManagementObjects" i są aktualizowane za pośrednictwem NUGet.
- Instrukcje instalacji pakietu NuGet:
- Aby dowiedzieć się więcej na temat instalowania pakietu NuGet, przejrzyj następujące artykuły:
- Usługi Avamar SQL (avsql) nie mogą połączyć się z plikami SQL SMO obecnymi w SQL ze względu na środowisko mieszane
- Artykuł bazy wiedzy do naśladowania: Artykuł bazy wiedzy 000051925 wtyczki Avamar SQL nie może przeglądać instancji SQL w mieszanym środowisku SQL
- Uruchom poniższe polecenie, aby sprawdzić, czy instancja SQL jest przeglądana.
avsql.exe --debug --operation=browse --verbose
-
- Następująca składnia flagi --usesmoversion="wersja SMO" może być użyta do sprawdzenia, która flaga może być użyta do wymuszenia połączenia między usługami SMO i avsql:
- Przykład dla SQL 2016:
avsql.exe --debug --operation=browse --verbose --usesmoversion=13
- Uruchom następujące polecenie, aby sprawdzić, czy bazy danych SQL są przeglądane:
avsql --operation=browse (local)
- Przetestuj łączność między SMO a serwerem SQL, korzystając z poniższej bazy wiedzy:
- Bazy wiedzy 000156447 Avamar — testowanie łączności między SMO a SQL Server.
- Poniższe kroki można wykonać, aby przetestować łączność przy użyciu poleceń programu PowerShell:
- Pulpit zdalny do klienta SQL.
- Otwórz program PowerShell.
- Wprowadź następującą instrukcję:
[reflection.assembly]::LoadWithPartialName("Microsoft.SQLServer.SMO")
-
-
- Wprowadź następującą instrukcję:
-
$SQLServer = new-object ("Microsoft.SQLServer.Management.SMO.Server")
-
-
- Wprowadź następującą instrukcję:
-
foreach($SQLDatabase in $SQLServer.databases) {$SQLDatabase.name}
-
-
- Spowoduje to wyświetlenie listy baz danych na kliencie. Potwierdza to, że SMO zostało prawidłowo załadowane i łączy się z serwerem SQL. Jeśli wystąpi błąd, musi on zostać rozwiązany, zanim Avamar będzie mógł zakończyć się powodzeniem.
-
- Przejrzyj dane wyjściowe polecenia avsql.exe --debug --operation=browse --verbose i wyszukaj błędy związane z usługami SQL:
- Jeśli zostanie znaleziony błąd połączenia WMI, przejdź do logowania się do narzędzia konfiguracji SQL.
- Jeśli narzędzie konfiguracji SQL nie otworzy się z następującym komunikatem "Cannot connect to WMI provider. Jeśli brakuje uprawnień lub serwer jest nieosiągalny, skontaktuj się z administratorami SQL, aby rozwiązać problem.
- W zależności od wersji bitowej serwera SQL poniższą flagę można najpierw przetestować za pomocą przeglądania opartego na interfejsie wiersza poleceń, a następnie dodać do avsql.cmd, jeśli jest to konieczne, aby zezwolić na operację przeglądania:
- Przykład:
avsql.exe --debug --operation=browse verbose --provider-architecture=64bit
- Upewnij się, że usługi przeglądarki SQL i nazwane potoki są włączone w narzędziu konfiguracji SQL, protokół sieciowy SQL dla określonego wystąpienia programu SQL Server.
- Upewnij się, że wymagane pliki smo.dll znajdują się w folderze c:\programfiles\avs\bin w wersji klienta. Sprawdź używaną wersję serwera SQL, aby sprawdzić wymaganą wersję pliku smo.dll.
- Klaster aktywny/pasywny lub Always-On SQL
- Zaloguj się do węzła głównego lub właściciela konfiguracji klastra
- Kroki 1–9 z autonomicznego serwera SQL można przejrzeć i wykonać z węzła właściciela klastra.
- Polecenie używane do przeglądania opartego na interfejsie CLI w celu pobrania informacji o instancji SQL:
- Klaster aktywny/pasywny lub Always-On SQL
avsql --operation=browse --sqlserver=SQLCluster_name --hostnamesql=SQLCluster_name
-
-
- Zapewnij komunikację między adresem IP klienta klastra a portami przeglądania Avamar 28002 i 28003 (lub 30002 i 30003)
- Jeśli istnieje podejrzenie problemu z komunikacją między klientem klastra SQL a odbiornikiem SQL, przejdź do dodawania następującej flagi w avsql.cmd w udostępnionej lokalizacji var:
-
--sqlserver=listenerIP,listenerPortnumber
-
- Uwaga: Powyższe szczegóły są obecne w narzędziu SQL Studio Odbiornik grupy dostępności>>wystąpienia SQL>>o wysokiej dostępności>>i kliknij prawym przyciskiem myszy, aby uzyskać właściwości.>>
-
-
- Dodaj flagi węzłów klastra w pliku znajdującym się w avsql.cmd udostępnionej lokalizacji var, aby określić poszczególne serwery SQL pod kątem błędów komunikacji "Unable to connect to the remote client '<IP_ADDRESS>', kod błędu: 2. Upewnij się, że zdalny agent kopii zapasowej jest uruchomiony:
-
--clusternode=<SQL_node_name>(<IP_ADDRESS>)
-
-
- Przegląd portu stronicowania używanego dla klienta klastra z poziomu zasad>> nawigacji>>GUI>>Avamar Wybierz klienta i edytuj.
- Dodaj 280002/28003, a następnie dezaktywuj klienta, zmieniając poniższe parametry uruchamiania i ponownie aktywując klienta klastra.
- Zamień --disable-gui i dodaj --listenport=28002 lub 28003 w parametrach uruchamiania klastra znajdujących się w narzędziu>>klastra trybu failover Wybierz używaną>> rolę Kliknij prawym przyciskiem myszy właściwości usług agenta tworzenia kopii zapasowych dla klastra.
- Przykład:
- Przed zmianami:
--service --mcsaddr=coeavr01.coe.int --mcsport=28001 --dpndomain=clients --vardir="E:\Program Files\Backup Agents for Cluster Groups\COEWINFILE\var" --logfile="E:\ProgramFiles\Backup Agents for Cluster Groups\COEWINFILE\var\avagent.log" --sysdir="E:\Program Files\Backup Agents for Cluster Groups\COEWINFILE\etc" --netbind=. --disablegui=true --pin_include=windows.pin,sql.pin
- Po zmianach:
--service --mcsaddr=coeavr01.coe.int --mcsport=28001 --dpndomain=clients --vardir="E:\Program Files\Backup Agents for Cluster Groups\COEWINFILE\var" --logfile="E:\Program Files\Backup Agents for Cluster Groups\COEWINFILE\var\avagent.log" --sysdir="E:\Program Files\Backup Agents for Cluster Groups\COEWINFILE\etc" --netbind=. --listenport=28002 --pin_include=windows.pin,sql.pin
- Przed zmianami:
- Poniższą flagę można dodać w avsql.cmd w lokalizacji współdzielonej zmiennej, aby wyświetlić listę baz danych SQL na poziomie węzła:
--show_db_in_availability_group=true
- Przegląd portu stronicowania używanego dla klienta klastra z poziomu zasad>> nawigacji>>GUI>>Avamar Wybierz klienta i edytuj.
-