Как импортировать модуль SQLPS в Azure Automation?
Я пытаюсь подключиться к серверу Azure SQL (по другой подписке) с помощью SQLPS
Метод аутентификации - аутентификация сервера SQL.
Когда я пытаюсь импортировать модуль SQLPS, я получаю эту ошибку:
Ошибка: import-module: указанный модуль 'sqlps' не был загружен, так как ни в одном каталоге модулей не было найдено допустимого файла модуля.
Хотя я могу подключиться к тому же серверу SQL Azure из Windows PowerShell, я понятия не имею, почему я не могу выполнить то же самое в Azure Powershell. Я понимаю, что для PowerShell должны существовать соответствующие модули.psm1, но кто-то может мне помочь, как это сделать?
Я попытался экспортировать / импортировать модуль из
C:\Program Files\Microsoft SQL Server\120\Tools\PowerShell\Modules
и не тренировался тоже...
2 ответа
Просто чтобы ответить на этот вопрос о 2 возможных решениях, которые я нашел:
Вы можете использовать пользовательское расширение сценария Azure для внедрения сценария в виртуальную машину, на которую вы хотите восстановить. Затем скрипт будет запускаться локально на ВМ, что означает, что SQL PS будет доступен.
Вы можете настроить виртуальную машину в Azure в качестве гибридного рабочего, который затем станет вашим "автоматом Azure". Затем вы можете установить SQLPS или любой другой модуль, который вам требуется на этом сервере.
Ошибка, которую вы получаете, заключается в том, что PowerShell просто сообщает вам, что возникли проблемы со всеми папками, указанными в вашей переменной $env:PSModulePath (т. Е. Переменная%PSMODULEPATH% env), и не нашел модуль SQLPS (в основном, его файл манифеста).
Мне не ясно, как вы "экспортируете / импортируете" SQLPS. Не могли бы вы уточнить это?
На чистой машине без SQLPS (то есть без SQL Engine и SQL Management Studio) я бы просто положился на пакет компонентов SQL для получения SQLPS. Если это то, что вы пытаетесь достичь, вы можете просто перейти на https://www.microsoft.com/en-us/download/details.aspx?id=42295 и загрузить следующие MSI (выберите архитектуру вашей ОС): - SQLSysClrTypes.mai - SharedManagementObjects.msi - PowerShellTools.msi Установите их в указанном порядке. Затем, когда вы открываете окно PowerShell, $ env: PSModulePath должен быть установлен правильно, и вы сможете просто сказать "Import-Module SQLPS -DisableNameChecking" и приступить к работе с SQLPS.
Пожалуйста, дайте мне знать, если это не то, что вы пытаетесь сделать или сталкиваетесь с другими проблемами. Если вы дадите мне больше деталей, я могу вам помочь.
Спасибо, Маттео