我正在尝试将 SSIS 连接到 AWS RDS SQL Server 实例。每当我尝试通过 SQL Server Agent 运行包时,都会遇到此错误消息:
非系统管理员被拒绝在没有代理帐户的情况下运行 DTS 执行作业步骤。
从我在网上找到的信息来看,建议创建一个代理帐户。这似乎不可能,因为我无法在 AWS RDS 实例中创建凭证。
我想要做的事情可行吗?如果可以,我该如何配置用户/包才能正确运行?
答案1
废弃 SSIS,使用过程模型进行 ETL。- 通过存储过程的“BULK INSERT”调用将数据从文件暂存到表中 - 使用存储过程进行转换,除直接 FTP 调用之外的任何步骤都可以通过存储过程完成,可能需要 xp_cmdshell 激活文件级访问(例如 xp_fileexist),才能通过 DIR 或其他命令获取文件列表,但这是可以做到的。我很久以前就废弃了 SSIS,并创建了自己的元数据驱动的 ETL 过程,该过程使用一个存储过程将所有文件加载到暂存表,以通过比较标题和表列来动态构建 BULK INSERT 和 INSERT/SELECT。为文件设置设置元数据模型,以构建批量插入参数。不确定您是否仍然需要文件系统级命令的代理(和凭据)。