升级至SQL Server 2016 SP2后SSIS及立方体处理代码失效求助
解决SQL Server 2016 SP2升级后SSIS包加载AdomdClientUI失败的问题
这是典型的版本不匹配问题——升级到SQL Server 2016 SP2后,服务器端的Analysis Services组件版本更新了,但你的SSIS包和开发环境还在绑定旧版本的Microsoft.AnalysisServices.AdomdClientUI组件,所以才会触发加载失败的错误。下面是针对性的解决步骤:
1. 对齐组件版本
SQL Server 2016 SP2对应的Microsoft.AnalysisServices.AdomdClientUI版本为13.0.5026.0(此前CU8对应的版本是13.0.4422.0左右)。你需要确保开发环境和SSIS运行服务器上的组件版本完全匹配SP2的要求。
2. 更新开发环境的组件引用
- 如果项目用NuGet管理依赖:右键项目 → 选择「管理NuGet程序包」,找到
Microsoft.AnalysisServices.AdomdClient包,更新到适配SQL Server 2016 SP2的13.x版本。 - 如果是手动引用组件:先移除旧的
Microsoft.AnalysisServices.AdomdClientUI引用,再从SQL Server 2016 SP2的安装目录(默认路径:C:\Program Files\Microsoft SQL Server\130\SDK\Assemblies)重新添加对应版本的dll文件。
3. 同步SSIS运行服务器的客户端组件
在运行SSIS包的服务器上,务必安装SQL Server 2016 SP2的客户端工具(包含Analysis Services客户端组件)。很多时候只升级服务器端数据库引擎,会忽略客户端组件的同步更新,导致运行时找不到匹配的UI组件。
4. 添加绑定重定向(关键补充)
如果项目存在配置文件(app.config或package.config),添加绑定重定向规则,强制程序加载新版本组件:
<configuration> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="Microsoft.AnalysisServices.AdomdClientUI" publicKeyToken="89845dcd8080cc91" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-13.0.5026.0" newVersion="13.0.5026.0" /> </dependentAssembly> </assemblyBinding> </runtime> </configuration>
5. 检查SSIS包的连接配置
打开出问题的SSIS包,找到Analysis Services处理任务对应的连接管理器,右键选择「编辑」,确认连接使用的是最新的AdomdClient驱动。如果不确定,直接删除旧连接管理器,重新创建一个新的Analysis Services连接,确保绑定的是SP2版本的组件。
额外注意事项
- 若包部署到SSIS Catalog,要确认Catalog所在服务器已安装SQL Server 2016 SP2,且部署时选择的目标环境组件版本一致。
- 升级后建议清理项目的bin/obj目录,重新编译,避免残留旧版本dll干扰。
内容的提问来源于stack exchange,提问作者ListerD
相关产品推荐
相关产品推荐

