sql-server - SSIS 无法访问每个人都有权访问的文件夹

标签 sql-server ssis etl network-drive sql-agent

所以我们有一个网络地址,我们将其称为每个人都可以访问的 Z 驱动器。 我所说的每个人是指整个组织。为了完整起见,我实际上继续授予对实际 SQL Server 代理的访问权限。

该包在开发上运行良好,但总是失败

The directory "Z:\SSIS_Test" does not exist

一开始我以为是访问问题。但是 SQL Server 代理如何无法访问每个人的驱动器呢?

此外,我自己作为调用者进入并在服务器上运行该包,但它仍然失败并出现相同的错误。是什么赋予了?难道我没有得到什么吗?

最佳答案

可能的解决方案

(1) 授予服务帐户

尝试向 SQL 数据库引擎服务帐户 NT SERVICE\MSSQL$<Instance Name>NT SERVICE\SQLSERVERAGENT 授予读/写权限(其中 <Instance Name> 应替换为已安装的实例名称):

我遇到了同样的问题,看起来“所有人”权限没有考虑服务帐户(我不确定)。授予数据库引擎和SQL代理服务帐户后,问题得到解决。另请随意阅读以下文档中有关 SQL Server 服务帐户的更多信息:

(2) SQL Server 内映射驱动器

您可以引用以下文章了解更多信息:

或者您可以尝试使用完整的 UNC 路径而不是映射驱动器。


如果这些解决方案不起作用,以下答案中列出了许多其他建议,您可以查看以获取更多信息:

关于sql-server - SSIS 无法访问每个人都有权访问的文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60195568/

相关文章:

sql - 如何从一张表中获取我想要的 View 结果

sql server openrowset一步读取超大xml文件

sql - 获取具有列组合的记录

sql-server - 本地 PC 和服务器环境之间的类型转换变化

json - 在 SSIS 中读取包含 JSON 列的 csv 文件?

sql-server - ValidateExternalMetadata 属性,这到底是做什么的?

amazon-web-services - 如何在粘合作业中添加当前时间戳(额外列),以便输出数据具有额外列

sql-server - 重用 t-sql 表变量或克隆其结构

sql-server - 查找从单个串联值字符串拆分成行的最低值和最高值

sql-server - 在 ssis 中导出到 csv 时包括前导零