Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server DBATools错误:';无法加载文件或程序集';Microsoft.SqlServer.Replication.dll或其依赖项之一'';_Sql Server_Powershell_Dbatools - Fatal编程技术网

Sql server DBATools错误:';无法加载文件或程序集';Microsoft.SqlServer.Replication.dll或其依赖项之一'';

Sql 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'或其依赖项之一。找不到指定的模块。' 它成功导出

我正在运行下面的Powershell

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
程序集重复此操作