【发布时间】:2021-04-15 20:26:49
【问题描述】:
我有一个 SSIS 包,最初是针对 SQL Server 2015 开发的,它使用 SQL Server 管理对象 (SMO) 在 C# 脚本中执行各种操作,现在需要升级以针对 SQL Server 2019。最终,这个包部署到服务器以在 SQL 代理作业中运行。
从 SQL Server 2017 开始,SMO 已移至 NuGet 包,不再像以前的版本一样包含在 SQL Server 功能包中。
我遇到的问题是集成服务项目并不真正支持 NuGet。如以下链接所述:
SSIS Script Task cant find reference to assembly
如上述票证中所述,我相信如有必要我可以手动将 .dll 安装到服务器上,但我很好奇是否有其他解决方案。
问题:
- 有没有办法在 SSIS 包中获取脚本任务以利用 SMO NuGet?
- 如果对上述情况“否”,除了将 .dll 安装到服务器之外,还有其他通过 SQL 服务器执行 C# 脚本的常用方法吗?
【问题讨论】:
-
SMO 与 SQL Server 一起安装,因此如果您安装了 2019 实例,则可以从 GAC 引用所需的 dll。这对你有用吗?
-
没有 SQL Server 2015 版本 - 只有 2012、2014、2016、2017 和 2019 - 任君选择
标签: sql-server ssis smo