通过SQL server作业代理访问不同服务器上的文件



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

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

如果我手动运行包,这个批处理文件会成功执行,但如果我运行计划作业,它就会失败!我试了很多次,但都没有成功。

错误消息显示删除服务器Y上的文件"访问被拒绝"。

任何帮助都将不胜感激!

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

当SQL代理运行同一个文件时,SQL代理服务帐户的凭据会显示给服务器Y。服务器拒绝了这些凭据,甚至无权查看该框,或者它可以读取并列出\ServerY\SomeShare上的文件,但最终无法删除文件。

分辨率

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

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

最新更新