Ошибка DBATools: 'не удалось загрузить файл или сборку' Microsoft.SqlServer.Replication.dll или одну из ее зависимостей '' - PullRequest
1 голос
/ 31 января 2020

Я использую приведенную ниже версию Powershell

Export-DbaInstance -SqlInstance xxxxxx\xxxxxx -ExcludePassword -Exclude databases -Path \\xxxxx\xxxxx

Однако я получаю сообщение об ошибке

'ПРЕДУПРЕЖДЕНИЕ: [14:34:02] [Export-DbaRepServerSetting ] Не удалось загрузить библиотеки репликации | Не удалось загрузить файл или «Microsoft.SqlServer.Replication.dll» или одну из его зависимостей. Указанный модуль не может быть найден.'

Он успешно экспортирует все остальное, кроме репликации экземпляра. Я могу использовать -Exclude 'ReplicationSettings' и Export-DBAInstance работает успешно. Я также могу успешно выполнить оригинальный сценарий на сервере Windows 2016 с любой другой установленной версией SQL.

Сервер - Windows 2016, а SQL - стандарт 2019. Версия файла Microsoft.SqlServer.Replication.dll в папке dbatools smo - 2017.140.1000.169, а версия продукта - 14.0.1000.169. Версии в C:\Program Files\Microsoft SQL Server\150\SDK\Assemblies - 2019.150.2000.5 и 15.0.2000.5 соответственно.

Я также попытался выполнить Invoke-Expression (Invoke-WebRequest -UseBasicParsing https://dbatools.io/in), чтобы загрузить последнюю версию dbatools, разблокировать файл и импортировать модуль dbatools. Я также попытался скопировать Microsoft.SqlServer.Replication.dll из экземпляра SQL 2016 \ 2012 и 2017 в папку сборок выше.

1 Ответ

0 голосов
/ 17 февраля 2020

Вы можете попробовать вручную загрузить сборки, чтобы проверить фактическую ошибку:

PS> $dbaToolsPath = "xxxx"   # your full path to the dbaTools
PS> $Error.Clear()
PS> Add-Type -Path "$dbaToolsPath\bin\smo\Microsoft.SqlServer.Replication.dll" -ErrorAction Stop
PS> ($Error | Select-Object -Last 1).Exception.InnerException | Select-Object *

И повторить это для Microsoft.SqlServer.Rmo.dll сборки

...