SQL Agent无法运行带有WMI Event Watcher Task的程序包

问题描述 投票:1回答:1

我创建了一个SSIS程序包,该程序包使用WMI事件监视程序任务监视在另一台服务器上创建的文件。当我在VS中运行该程序包时,它运行良好。当我从Integration Services目录手动执行它时,它工作正常。当我尝试将其作为计划的SQL Agent Job运行时,我得到错误:监视Wql查询导致以下系统异常:“访问被拒绝。(来自HRESULT的异常:0x80070005(E_ACCESSDENIED))”。检查查询中是否有错误或访问权限的WMI连接。

我的问题是,当我可以几种不同的方式成功运行它时,为什么它不能作为SQL Agent Job运行?基于错误代码似乎是一个COM / DCOM安全问题。

到目前为止,我有:

  • [尝试过许多网站或多或少都是这样的https://docs.microsoft.com/en-us/windows/win32/wmisdk/wmi-troubleshooting?redirectedfrom=MSDN我已完全遵循这些网站上的所有说明。
  • 退回并给予了更多的权限,然后由网站指定了Windows管理和工具的COM限制和DCOM配置。
  • 每次更改后,已多次在另一台服务器上重新启动WMI服务。
  • 尝试SA和我本人是工作的所有者。
  • 尝试使用我通常的SQL Agent代理帐户和默认的Server Agent服务帐户(即托管服务帐户)作为程序包的运行方式。
  • 尝试以32位和64位运行时运行。
  • 已经在另一台服务器上进行了SQL Agent代理帐户和服务器代理服务帐户管理员。
  • 尝试将我的用户名和密码硬编码到连接管理器中,并使用Windows身份验证。

*新测试*

  • [使用文件系统而不是SSIS目录作为包源测试了SQL代理作业,但仍然失败,并出现相同的错误。
  • 使用Execute Package Utility测试了运行中的软件包,它起作用了!
sql-server ssis com wmi sql-agent
1个回答
0
投票

AgentSqlServer用户无权在服务器上启动WMI查询,您应该创建一个代理帐户并将其加入à到SQL Job上的步骤。

© www.soinside.com 2019 - 2024. All rights reserved.