ПРИМЕЧАНИЕ: Я читаю 21.0.17240 как версию модуля SqlServer
, а не как экземпляр SQL Server.
Get-SqlInstance
требует установки облачного адаптера SQL Server. Согласно MSDN :
Командлет Get-SqlInstance получает объект экземпляра SQL для каждого
экземпляр SQL Server, который присутствует на целевом компьютере. Если
имя экземпляра SQL Server, командлет будет только
получить этот конкретный экземпляр SQL Server.
Необходимо убедиться, что на компьютере запущен облачный адаптер SQL Server
где находится экземпляр SQL Server.
Служба была создана для поддержки SQL Server, размещенного на виртуальных машинах Azure. Даже если ваши машины установлены в предварительном порядке, вам понадобится этот сервис , иначе командлет не будет работать.
Мои два цента, рассмотрите возможность использования SMO, если вы хотите получить информацию об экземпляре SQL Server. Google, и вы найдете тонны материала об использовании SMO для извлечения данных из SQL Server:
powershell smo
Теперь, к вашей проблеме, я не верю, что Microsoft поставила SCA для SQL Server 2016 или 2017 либо с ядром, либо с пакетом функций, что означало бы, что этот командлет эффективно нарушен для этих выпусков, как указано здесь . Если вы используете 2014, вы можете скачать SCA с пакетом функций. Возможно, вы можете использовать SCA 2014 года с более поздней версией SQL Server, но я не вижу, чтобы это поддерживалось где-либо.