<server \ instance>作业名作业失败。作业由用户<域\使用名称>调用。运行的最后一步是步骤1(<Stepname>)

时间:2019-11-26 17:06:03

标签: sql-server ssis

这是我们在xx.xx.xx.77上创建的第一个SSIS程序包,用于从xx.xx.xx.56服务器提取数据并作为Excel文件加载到共享路径(服务器ip xx.xx.xx.130)上。可从两台服务器访问该路径。 SQL Server代理在NT Service\SQLAgent$instance服务器中配置了xx.xx.xx.77。 因此我们得到了错误1

错误1:

  

消息:应用程序特定的权限设置不授予本地   具有CLSID的COM Server应用程序的激活权限   {FDC3723D-1588-4BA3-92D4-42C430735D7D}和APPID   向用户NT {83B33982-693D-4824-B42E-7196AE61BB05}   SERVICE \ SQLAgent $ instance SID   (S-1-5-80-3789775531-3388834719-430539279-2094781381-3838682281)来自   地址在应用程序容器中运行的LocalHost(使用LRPC)   SID不可用(不可用)。此安全许可可以是   使用组件服务管理工具进行了修改。

     

日志类型:Windows NT日志源:系统源:   Microsoft-Windows-DistributedCOM类别:(0)事件:10016用户:   NT SERVICE \ SQLAgent $ instance计算机:

在Google搜索之后,我们将使用代理用户。现在,我们在使用代理用户在xx.xx.xx.77服务器上调度该程序包时遇到问题( Error2 )。

错误2:

  

作业失败。作业被调用   用户。运行的最后一步是步骤1()

仅供参考:尽管在xx.xx.xx.55服务器上创建了相同的代理用户,但是在77服务器上运行作业时仍然存在相同的错误。

参考链接:

  1. Give access to virtual account。但是由于特权不足,我们无法做到这一点。
  2. Proxy Creation

我们将更多的SO问答和Google搜索结果用于SSIS程序包创建。没有人帮助。因为我们的方案包括两个服务器。因此,我们需要伸出援助之手。

编辑1:

我们在Error1之后进行了此操作。

"Launch & Activation Permission" -> click Edit -> Add in the account NT Service\SQLAgent$instance->找不到名称错误。参考:下图。对于相同的错误,请在下面的对话框的Object Type中添加“服务帐户”。

Name Not Found

然后我们将位置中的位置从 Domain.com 更改为服务器名称,如下所示:

Location

现在,找到NT Service\SQLAgent$instance的名称。然后我们检查"Local Launch & Local Activation"。参考:

Local Permission

重新启动服务后,我们遇到了同样的错误。多数民众赞成在我们与代理用户。

Reference link for Deploy the SSIS package.

编辑2

我们将SSIS项目移到另一台xx.xx.xx.231服务器上,在该服务器上为SQL Service Agent配置了域用户,例如 backupuser@domain.com 。现在,作业已在计划的时间成功运行。

仅供参考:错误的另一个原因是目标文件可能已被其他用户打开。在这里,文件位于分片位置。在xx.xx.xx.231服务器上运行作业时,我们再次遇到相同的错误。经过一番交叉检查后,我们发现我们的团队打开了Excel文件。

感谢所有人,

Pugal

1 个答案:

答案 0 :(得分:0)

您可能需要按照以下说明提供权限。

  1. 单击开始->运行->类型-> dcomcnfg,展开组件服务->计算机->我的电脑-> DCOM配置。
  2. 单击视图->详细信息->现在,您将在右侧获得应用程序名称和应用程序ID。
  3. 向下滚动并找到应用程序ID“”->右键单击->“属性”,然后选择“安全性”选项卡。
  4. 在“启动和激活权限”下单击“自定义”->单击“编辑”->在帐户NT AUTHORITY \ SYSTEM中添加并设置本地启动和本地激活。
  5. 重新启动链接到该应用程序ID的应用程序服务,或重新启动服务器并监视