我想运行一个包含 Transfer SQL Server Objects 任务的 SSIS 包。涉及的服务器在同一个域中,但 SQL Server 服务在本地服务帐户上运行。所以环境看起来是这样的:
领域
服务器 1
服务器 2
为了能够登录到两台服务器,我创建了一个域帐户以用作服务帐户。当我使用这个域帐户登录到服务器1,然后从文件系统执行包时,每一步都成功。但是,当我尝试将作业添加到 SQL Server 时,我遇到了以下问题之一:
情况1.工作负责人:本地帐户;运行 SSIS 步骤作为域帐户的代理。当我将作业所有者设置为本地帐户,但将作业作为域帐户的代理运行时,作业本身将成功执行,但程序包会引发类似错误
执行失败,出现以下错误:“目录‘LocalApplicationData’不存在。”。
可以通过为服务器 1 上的域用户创建具有管理员权限的登录来修复此错误,但这显然不是理想的解决方案。将帐户添加到 SQL Server 代理/DTS 组之一也不起作用。
情况 2. 作业所有者:域帐户;运行 SSIS 步骤作为域帐户的代理。当我为域帐户的步骤设置作业所有者和“以用户身份运行”时,作业根本无法启动,并出现以下错误:
无法确定作业的所有者(域\域用户)
Job name
是否具有服务器访问权限(原因:无法获取有关 Windows NT 组/用户“域\域用户”的信息,错误代码 0x5。[SQLSTATE 42000](错误 15404)) .
我相信最后一个错误是因为 SQL Server 在本地帐户上运行,因此无法查看域帐户具有哪些权限。
使作业运行的正确方法是什么?情况 2 对我来说感觉更清晰,但似乎不可能,因为 SQL Server 在本地帐户上运行。情况 1 也可以使用,但不会在我的 SQL Server 上授予域用户管理权限。
更新:
@JonSeigel 和 @Mr.Brownstone:
这个问题似乎是由于缺乏权限造成的。但是,错误是关于不存在的“LocalApplicationData” - 为每个帐户生成的文件夹之一。我已经使用运行包的凭据登录到服务器(在此创建配置文件目录)并尝试了配置文件目录的几种权限组合。即使手动授予此特定目录的几乎所有权限,我也会收到上述错误。
在进行更多研究的同时,我在http://www.sqlservercentral.com/Forums/Topic391332-148-1.aspx#bm391441 上遇到了一个论坛主题,它非常相似——但也没有解决方案。
我个人的意见是选项 #1 是可行的方法。但我认为您无需授予域帐户本地管理员访问权限。在我看来,它需要访问某些文件夹和文件,因此您可以仅授予域用户访问成功运行包所需的资源的权限。这可以通过文件/文件夹属性对话框并选择安全选项卡来完成 - 不需要为每个文件和文件夹设置它,因为您可以设置父目录的权限并将它们设置为覆盖子属性。
我希望这可以帮助你。
归档时间: |
|
查看次数: |
6334 次 |
最近记录: |