#smo
#smo
Вопрос:
Вот сценарий, мы устанавливаем Microsoft Dynamics 365 (ранее CRM) v9 на Prem в SQL 2017. RTM совместим только с SQL 2016, но начиная с обновления 0.03 он поддерживает SQL 2017. Используя сценарий установки, я могу установить последнее обновление (0.22) во время установки, но установщик устанавливает только компоненты SQL для SQL 2016, а не 2017. Поэтому при его использовании я получаю ошибки об отсутствующем типе CLR и SMO для Sql 2017. Я смог установить тип CLR с помощью пакета функций SQL 2017, но они удалили SMO из этого, его можно установить только через пакет Nuget в Visual Studio из того, что я вижу.
Я бы предпочел не устанавливать Visual Studio на наши веб-серверы Dynamics 365 только для получения этого пакета. Я обнаружил, что установил SSMS 18, который добавил его, но, опять же, я бы предпочел не устанавливать какие-либо инструменты разработки на веб-серверах только для получения SMO. Есть ли у кого-нибудь другие варианты удовлетворения этого требования? Я попробовал несколько сценариев PowerShell, которые предположительно должны были его установить, но ничего не сработало.
Спасибо.
Ответ №1:
Если у вас есть как администратор, так и веб-доступ к целевому хосту, вы можете просто установить SMO через диспетчер пакетов PowerShell:
Install-Package Microsoft.SqlServer.SqlManagementObjects -Version 161.44091.28
Кроме того, вы можете загрузить пакет NuGet вручную с:
https://www.nuget.org/api/v2/package/Microsoft.SqlServer .SqlManagementObjects/161.44091.28
переместите его "-o$env:ProgramFilesPackageManagementProviderAssemblies"
и зарегистрируйтесь с помощью:
Register-PSRepository -Name "SMO" -SourceLocation "location" -InstallationPolicy Trusted
Install-Module SMO