0

我在服务器 X 上运行了一个 SQL Server 作业。现在我必须删除服务器 Y 上现有的 AS(分析服务)备份文件并再次创建新备份。我在批处理文件中编写了所需的代码并将其保存在服务器 X 的硬盘驱动器上。我正在使用 SSIS 中的执行过程任务执行此批处理文件。

服务器 X 上的这个 SSIS 包将在每周的特定时间通过 SQL Server 作业运行。

如果我手动运行包,此批处理文件将成功执行,但如果我运行计划的作业,它会失败!我尝试了很多次,但徒劳无功。

错误消息显示“拒绝访问”用于删除服务器 Y 上的文件。

任何帮助,将不胜感激!

4

1 回答 1

1

手动执行批处理文件时,您的凭据将提供给服务器 Y,它们被接受,并且操作系统会根据请求删除该文件。

当 SQL 代理运行相同的文件时,SQL 代理服务帐户的凭据将提供给服务器 Y。它们可能被服务器拒绝 - 它甚至无权查看该框,或者它可以读取并列出 \ServerY 上的文件\SomeShare 但最终它无法删除文件。

解析度

选项 1) 在服务器 Y 上,添加与服务器 X 的 SQL 代理服务帐户对应的具有足够权限的帐户,以查看 AS 备份所在的文件夹并删除备份。

选项 2) 在服务器 X 上创建一个凭证一个代理,在服务器 Y 上具有上述权限,然后以该用户身份执行 SSIS 包,当然假设凭证具有服务器 X 的代理帐户所做的所有其他权限。

于 2012-02-26T15:16:21.867 回答