【问题标题】:ssis [File System Task] Error: An error occurred with the following error message: "Access to the path is denied."ssis [文件系统任务] 错误:发生错误并显示以下错误消息:“访问路径被拒绝。”
【发布时间】:2017-12-22 03:25:31
【问题描述】:

所以,我有一个 SSIS 包,它检查服务器上的文件是否存在,将文件中的数据复制到 sql server 上的表中,并将文件移动到完成的文件夹中。

我已经创建了环境变量,并且因为我对文件夹和服务器拥有完全访问权限..包已成功执行。但是,当我在配置管理器中选择 QA 环境并运行包时..它无法将文件移动到完成文件夹并且执行结果中的错误是 - [文件系统任务] 错误:发生以下错误错误消息:“访问路径被拒绝。”。

我在文件系统任务中使用了用户变量

以及包概览

我的问题是 - 因为文件存在于 QA 框的文件资源管理器中,而我没有访问权限..这是它失败的原因吗?但是,我没有使用我的凭据在连接管理器级别登录。我正在使用 SQL Server 身份验证(已创建服务帐户)。

如果您有任何问题,请告诉我。

谢谢!

【问题讨论】:

  • 服务帐号是否对QA环境中的文件夹有读/写权限?
  • 我和一位 DBA 的人交谈,他说 SQL 帐户不能被授予 QA 环境中的文件夹权限,并且仅适用于 SQL 实例。
  • 听起来他在谈论 SQL Server 登录,这将是您用于使用 SQL 身份验证登录 SQL Server 的凭据。我指的是 SQL Server 在运行数据库引擎、SQL 代理或其他服务(即报告服务、集成服务等)时使用的 Windows 服务帐户。如果要使用作业启动 SSIS 包,请确保 SQL 代理服务帐户有权访问该文件夹。 SQL 代理的默认服务帐户通常是NT SERVICE\SQLSERVERAGENT
  • 太棒了。非常感谢您提供的信息。我还有一个问题是 - 我们是否需要设置一个可以访问 Windows Server 和 SQL Server 的代理帐户。

标签: sql-server ssis etl


【解决方案1】:

我的问题是 - 因为文件存在于 QA 框的文件资源管理器中,我没有访问权限..这是它失败的原因吗?

这就是失败的原因,是的。

在 Visual Studio 中运行 SSIS 包时,大多数事情都将在 您的 凭据下运行。是的,您需要为某些连接管理器指定凭据,但文件系统任务使用本地用户的凭据。如果您个人无权访问文件,则您正在运行的 SSIS 包也无权访问。

【讨论】:

  • 那么,有什么解决方法吗?将包部署到服务器上并通过 SQL 服务器作业代理执行包,或通过右键单击集成服务目录中的包手动执行。
  • @tanu 部署包,SQL Server 将使服务器能够执行它。通过代理执行此操作意味着您的代理帐户将执行它,通过 SSIS 目录将在连接用户的凭据下运行它(通过 kerboros 和双跳)。要真正调试包,您需要访问它正在执行的操作。就个人而言,我的观点是,您没有访问权限,您没有访问权限是有原因的;因此,您不应该试图欺骗您的凭据才能这样做。安全是有原因的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-02
  • 1970-01-01
  • 1970-01-01
  • 2019-05-20
  • 1970-01-01
  • 2011-12-04
相关资源
最近更新 更多