这个问题以前曾以不同的方式提出过,但我找不到满意的答案。
我们是一家基于 MS 的商店,我们拥有大量 SQL 2016 数据库。我们还大量使用 SSIS 2016,在我所在的地区,我们专门使用目录 (SSISDB) 部署模型。
我们的许多 SSIS ETL 不仅仅是简单的加载或提取。它们是每晚批次的一部分。它们在调度程序上运行。一个典型的批次可能是这样的
- 运行 SSIS 项目 A
- 拿起 A 制作的一些文件
- 将它们 ftp 到某处并存档原件
- 拾取一些其他文件并将它们放在某个地方
- 然后运行 SSIS 项目 B 处理上述内容
- ETC
我们的批处理脚本通常是 python,我们使用 DtExec 来运行 ETls。我们的 python 脚本所在的调度程序机器与 SSISDB 或 SSIS 机器绝不是同一台机器。我们使用 DtExec 调用远程数据库服务器并调用 ETL。
调度程序机器本身不是数据库服务器,没有安装 SQL 2016,只安装了 SSMS 2016,它为我们提供了 32 位 DtExec。
但现在看来我也需要 64 位 DtExec,而且似乎只有在调度程序框中也安装集成服务时才能得到它。
这是一个问题,因为许可,而且我不希望另一个 SSIS 服务实例在那里运行。无论如何,它不会用于任何事情。我只想要像 DtExec 这样的 64 位客户端工具。
问题基本上是如何将 64 位 DtExec 安装到不是 SQL Server 甚至不是集成服务服务器的机器上。如何在简单的客户端计算机上获得 64 位 DtExec?
编辑:另一方面,我真的需要 64 位 DtExec 在 64 位服务器上以 64 位模式运行 SSIS 吗?当然那是一个远程调用,并且 DtExec 客户端在多少位下编译应该无关紧要吗?
感谢您阅读
卡斯滕