【问题标题】:Accessing files on different server through SQL Server Job Agent通过 SQL Server Job Agent 访问不同服务器上的文件
【发布时间】:2012-03-16 04:36:36
【问题描述】:

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

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

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

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

任何帮助将不胜感激!

【问题讨论】:

    标签: sql sql-server-2005 ssis ssas sql-server-job


    【解决方案1】:

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

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

    分辨率

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

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

    【讨论】:

    • 感谢 billinkc 的解决方案。选项 2 适合我。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-10
    • 1970-01-01
    • 2018-01-15
    相关资源
    最近更新 更多