Avamar. Сбой резервного копирования или обзора SQL с ошибкой «avsql Error <15760>: Нет целей после расширения»
Summary: Операция резервного копирования и просмотра на основе Avamar SQL завершается сбоем для клиентов автономного сервера и кластера SQL. Сбой резервного копирования или просмотра базы данных SQL Avamar с ошибкой «avsql Error» <15760>. Никаких целей после расширения». Это связано с отсутствием ролей системного администратора, проблемами с подключением, проблемами подключения к службам инструментария управления Windows (WMI), проблемами связи с портом Avamar или отсутствием DLL-файлов объектов управления SQL Server (SMO). ...
Symptoms
Существует проблема с резервным копированием и просмотром базы данных Avamar SQL как в автономной, так и в кластерной средах SQL.
Сценарий обращения
Выполните резервное копирование и обзор с помощью подключаемого модуля avsql из графического интерфейса пользователя или пользовательского интерфейса Avamar Administrator Console.
Коды ошибок резервного копирования: avsql Error <15760>. Нет целей после расширения!
Если эта ошибка присутствует в резервных копиях, это означает, что проблема с просмотром и информация о базе данных не извлекаются с помощью команды avsql Услуги.
Сбой резервного копирования SQL (avsql) или просмотра базы данных Avamar SQL (avsql) с ошибкой "avsql Error <15760>: No targets after expansion!"
Операция резервного копирования и просмотра на основе AvSQL завершается сбоем для клиентов автономного сервера и кластера SQL.
Cause
- Отсутствуют роли системного администратора для учетной записи пользователя или пользователя Active Directory (SQL 2012 и более поздних версий), используемых в службах агентов резервного копирования.
- Проблема с подключением между SQL SMO и подключаемым модулем SQL Avamar.
- Проблема подключения служб WMI между сервером SQL и службами Windows.
- Порты связи Avamar недоступны.
- Отсутствуют DLL-файлы SMO или другие необходимые файлы, которые функционируют для извлечения информации базы данных.
Resolution
Автономные серверы SQL
- Отсутствуют роли системных администраторов для учетной записи пользователя, используемой в службах резервного агента. Ознакомьтесь со статьей базы знаний о назначении ролей sysadmin:
- Статья базы знаний 000039635 Avamar: Сбой резервного копирования SQL с ошибкой «BACKUP DATABASE permission denied in database»
- Настройка разрешений полного доступа для учетной записи AD, используемой для SQL Server 2012 и более поздних версий. Дополнительные сведения см. на стр. 11 руководства пользователя Avamar SQL версии 19.9
- Обязательные файлы SMO отсутствуют для служб SQL Server.
- Версию установленного SMO можно проверить по программе и функциям панели>>управления. Если версия SMO, связанная с версией SQL Server, отсутствует, скачайте и установите ее с сайта Microsoft
- Чтобы скачать пакет SMO для различных версий SQL, выполните следующие действия.
- Скачивание SQL 2008 и 2008 R2 SMO/CLR:
- Скачивание SQL 2012 R2 SMO/CLR:
- Скачивание SQL 2014 SMO/CLR:
- Скачивание SQL 2016 SMO/CLR:
- SQL 2017 и более поздние версии SMO распространяются корпорацией Майкрософт под именем «Microsoft.SqlServer.SqlManagementObjects» и обновляются с помощью NUGet.
- Инструкции по установке пакета Nuget:
- Дополнительные сведения об установке пакета Nuget см. в следующих статьях:
- Службы Avamar SQL (avsql) не могут подключиться к файлам SMO SQL, присутствующим в SQL, из-за смешанной среды
- Статья базы знаний: Базе знаний 000051925 Подключаемому модулю SQL Avamar не удалось просмотреть экземпляр SQL в смешанной среде SQL
- Выполните команду, приведенную ниже, чтобы проверить, просматривается ли экземпляр SQL.
avsql.exe --debug --operation=browse --verbose
-
- Чтобы проверить, какой флаг можно использовать для разрешения принудительного подключения между службами SMO и avsql, можно использовать следующий синтаксис флага --usesmoversion="SMO version":
- Пример для SQL 2016:
avsql.exe --debug --operation=browse --verbose --usesmoversion=13
- Выполните следующую команду, чтобы проверить, просматриваются ли базы данных SQL:
avsql --operation=browse (local)
- Проверьте возможность подключения SMO к SQL Server, используя следующую статью базы знаний:
- Статья базы знаний 000156447 Avamar — Как проверить возможность подключения между SMO и SQL Server.
- Для проверки возможности подключения с помощью команд PowerShell можно выполнить следующие действия.
- Remote Desktop на клиент SQL.
- Откройте PowerShell.
- Введите следующее утверждение:
[reflection.assembly]::LoadWithPartialName("Microsoft.SQLServer.SMO")
-
-
- Введите следующее утверждение:
-
$SQLServer = new-object ("Microsoft.SQLServer.Management.SMO.Server")
-
-
- Введите следующее утверждение:
-
foreach($SQLDatabase in $SQLServer.databases) {$SQLDatabase.name}
-
-
- В результате создается список баз данных на клиенте. Это подтверждение того, что объект SMO загружен правильно и что он подключается к SQL Server. Если это приводит к ошибке, она должна быть устранена до того, как Avamar сможет добиться успеха.
-
- Просмотрите выходные данные командной строки avsql.exe --debug --operation=browse --verbose и найдите ошибки, связанные со службами SQL:
- При обнаружении ошибки подключения WMI перейдите к входу в средство настройки SQL.
- Если средство конфигурации SQL не открывается со следующим сообщением «Не удается подключиться к поставщику WMI. Если в разрешении отказано или сервер недоступен, обратитесь к администраторам SQL для решения проблемы.
- В зависимости от версии SQL Server Bit приведенный ниже флаг можно сначала протестировать с помощью интерфейса командной строки, а затем добавить avsql.cmd при необходимости для выполнения операции обзора:
- Пример.
avsql.exe --debug --operation=browse verbose --provider-architecture=64bit
- Убедитесь, что службы браузера SQL и именованные каналы включены в средстве настройки SQL, сетевой протокол SQL для конкретного экземпляра сервера SQL.
- Убедитесь, что необходимые файлы smo.dll присутствуют в папке c:\programfiles\avs\bin на клиентской версии. Проверьте версию используемого сервера SQL, чтобы проверить наличие требуемой версии файла smo.dll.
- Кластер SQL в режиме «активный/пассивный» или Always-On
- Войдите на основной узел или узел владельца в конфигурации кластера
- Шаги 1–9 по устранению неполадок автономного сервера SQL можно просмотреть и выполнить с узла владельца кластера.
- Команда, используемая для выполнения обзора на основе интерфейса командной строки для извлечения информации об экземпляре SQL:
- Кластер SQL в режиме «активный/пассивный» или Always-On
avsql --operation=browse --sqlserver=SQLCluster_name --hostnamesql=SQLCluster_name
-
-
- Обеспечьте связь между IP-адресом клиента кластера и портами навигации Avamar 28002 и 28003 (или 30002 и 30003).
- Если есть подозрение, что существует проблема связи между клиентом кластера SQL и прослушивателем SQL, перейдите к добавлению следующего флага в avsql.cmd в общем местоположении переменной:
-
--sqlserver=listenerIP,listenerPortnumber
-
- Примечание. Приведенные выше сведения присутствуют в средстве SQL Studio High Availability>>, прослушивателе>>>>прослушивателя группы доступности и щелкните правой кнопкой мыши для просмотра свойств.>>
-
-
- Добавьте флаги узлов кластера в файл avsql.cmd расположенный в общем местоположении var, чтобы указать отдельные серверы SQL для ошибок связи «Не удается подключиться к удаленному клиенту IP_ADDRESS<>», код ошибки: 2. Убедитесь, что агент удаленного резервного копирования работает:
-
--clusternode=<SQL_node_name>(<IP_ADDRESS>)
-
-
- Просмотрите порт подкачки, используемый для клиента кластера, в политике>> навигации>>графического интерфейса>>пользователя Avamar. Выберите клиента и отредактируйте.
- Добавьте 280002/28003, после чего деактивируйте клиент, измените параметры запуска, указанные ниже, и повторно активируйте клиент кластера.
- Замените --disable-gui и добавьте --listenport=28002 или 28003 в параметры запуска кластера, которые можно найти в инструменте>>«Переключение кластера при отказе». Выберите используемую>> роль Правой кнопкой мыши нажмите свойства службы агента резервного копирования для кластера.
- Пример.
- До изменений:
--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
- После изменений:
--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
- До изменений:
- Приведенный ниже флаг можно добавить в avsql.cmd в общем местоположении var для вывода списка баз данных SQL на уровне узла:
--show_db_in_availability_group=true
- Просмотрите порт подкачки, используемый для клиента кластера, в политике>> навигации>>графического интерфейса>>пользователя Avamar. Выберите клиента и отредактируйте.
-