я бегу
Export-DbaInstance -SqlInstance $sourceServerName -Path $absPathToBackupScriptDir
и получение ошибки «Не удалось загрузить файл или сборку Microsoft.SqlServer.ConnectionInfo»
Я попытался установить Microsoft Visual C++ Redistributable для Visual Studio 2013 и 2017.
Я попытался добавить рассматриваемую DLL (которая содержится в модуле DbaTools) в GAC, используя приведенную ниже CMD.
gacutil.exe /i "C:\Program Files\WindowsPowerShell\Modules\dbatools\bin\smo\Microsoft.SqlServer.ConnectionInfo.dll"
Я попытался установить новейшую версию DbaTools (~ 0.9.x на момент написания), используя Powershell ниже
Invoke-Expression (Invoke-WebRequest -UseBasicParsing https://dbatools.io/in)
Введенная команда и полное выведенное сообщение об ошибке приведены ниже.
Export-DbaInstance -SqlInstance $sourceServerName -Path $absPathToBackupScriptDir
'Could not load file or assembly 'Microsoft.SqlServer.ConnectionInfo' Version=14.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91 or one of its dependencies. The system cannot find the file specified.'
@ HAL9256, да, я запускаю командлет непосредственно на хосте, где находится экземпляр SQL. Это SQL Server 2012, и версия сборки предполагает, что версия является частью проблемы. Кроме того, командлет успешно генерирует несколько сценариев, но выдает эту ошибку ближе к концу своего выполнения (репликация?). Я могу запустить командлет на сервере с моей локальной машины на этом сервере без проблем, но мне нужно запустить его из задания SQL-Agent на сервере. У меня НЕ установлена последняя версия SSMS на этом хосте, но там установлена версия SSMS (2012 г.)
Если я откажусь от экспорта параметров репликации, проблемная сборка не будет загружена, и командлет будет работать, как ожидалось.
Export-DbaInstance -SqlInstance $sourceServerName -Path $absPathToBackupScriptDir -Exclude 'ReplicationSettings'
У вас установлена Microsoft SQL Server Management Studio или SQL-сервер?