Sql server DBATools错误:';无法加载文件或程序集';Microsoft.SqlServer.Replication.dll或其依赖项之一'';
我正在运行下面的PowershellSql server DBATools错误:';无法加载文件或程序集';Microsoft.SqlServer.Replication.dll或其依赖项之一'';,sql-server,powershell,dbatools,Sql Server,Powershell,Dbatools,我正在运行下面的Powershell Export-DbaInstance -SqlInstance xxxxxx\xxxxxx -ExcludePassword -Exclude databases -Path \\xxxxx\xxxxx 然而,我得到了错误 '警告:[14:34:02][Export DbaRepServerSetting]无法加载复制库|无法加载文件或'Microsoft.SqlServer.replication.dll'或其依赖项之一。找不到指定的模块。' 它成功导出
Export-DbaInstance -SqlInstance xxxxxx\xxxxxx -ExcludePassword -Exclude databases -Path \\xxxxx\xxxxx
然而,我得到了错误
'警告:[14:34:02][Export DbaRepServerSetting]无法加载复制库|无法加载文件或'Microsoft.SqlServer.replication.dll'或其依赖项之一。找不到指定的模块。'
它成功导出除实例复制之外的所有其他内容。我可以使用-Exclude'ReplicationSettings'
和导出DBA实例
成功运行。我还可以在安装了任何其他SQL版本的Windows 2016服务器上成功执行原始脚本
服务器为Windows 2016,SQL为2019标准。dbatools smo文件夹中的Microsoft.SqlServer.Replication.dll
文件版本为2017.140.1000.169,产品版本为14.0.1000.169。C:\Program Files\Microsoft SQL Server\150\SDK\Assembly
中的版本分别为2019.150.2000.5和15.0.2000.5
我还尝试过执行
Invoke表达式(Invoke-WebRequest-UseBasicParsinghttps://dbatools.io/in)
下载最新版本的dbatools,取消阻止文件并导入dbatools模块。我还尝试将Microsoft.SqlServer.Replication.dll
从SQL 2016\2012和2017实例复制到上面的程序集文件夹中。您可以尝试手动加载程序集,以检查实际错误:
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
程序集重复此操作,您可以尝试手动加载程序集,以检查实际错误:
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
程序集重复此操作