【问题标题】:Upgrade SSIS Package Using SMO to SQL Server 2019使用 SMO 将 SSIS 包升级到 SQL Server 2019
【发布时间】: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


【解决方案1】:

最好将 SMO DLL 安装到目标服务器全局程序集缓存中。 SSIS 仍然不使用本地程序集,您必须引入一些解决方法来解决这个问题。
您可以使用 SMO DLL 进行简单的 MSI 安装 - 例如,请参阅 WIX deploy two assemblies to GACWhat's the 'correct' way of registering/installing an Assembly to the GAC?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-16
    • 2010-10-21
    • 1970-01-01
    • 1970-01-01
    • 2021-06-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多