【发布时间】:2019-11-27 22:30:30
【问题描述】:
这是我们在xx.xx.xx.77 上创建的第一个 SSIS 包,用于从xx.xx.xx.56 服务器中提取数据并作为 Excel 文件加载到共享路径(服务器 ip xx.xx.xx.130)上。该路径可从两台服务器访问。
SQL Server 代理在xx.xx.xx.77 服务器中配置了NT Service\SQLAgent$instance。
所以我们得到了Error1。
错误1:
消息:应用程序特定的权限设置不授予本地 具有 CLSID 的 COM 服务器应用程序的激活权限 {FDC3723D-1588-4BA3-92D4-42C430735D7D} 和 APPID {83B33982-693D-4824-B42E-7196AE61BB05} 给用户 NT 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 服务器上运行作业时仍然存在相同的错误。
参考链接:
- Give access to virtual account。但是我们不能这样做,因为我们的特权是不够的。
- Proxy Creation
我们参考了更多关于 SSIS 包创建的 SO Q&A 和 Google 结果。没有人帮忙。因为我们的场景包括两台服务器。所以我们需要帮助。
编辑 1:
我们在Error1 之后这样做了。
"Launch & Activation Permission" -> click Edit -> Add in the account NT Service\SQLAgent$instance-> 未找到名称错误。参考:下图。同样的错误,在下面的对话框中的Object Type 中添加“服务帐户”。
然后我们将位置从 Domain.com 更改为 Server Name 在 Location 中,如下所示:
现在,NT Service\SQLAgent$instance 名称已找到。然后我们检查"Local Launch & Local Activation"。参考:
重新启动服务后,我们得到了同样的错误。那就是'我们与代理用户一起去。
Reference link for Deploy the SSIS package.
编辑 2
我们将 SSIS 项目移动到另一个 xx.xx.xx.231 服务器,其中 SQL 服务代理配置了域用户,例如 backupuser@domain.com。现在作业已按预定时间成功运行。
仅供参考:错误的另一个原因是目标文件可能已被其他用户打开。在这里,文件位于分片位置。在xx.xx.xx.231 服务器上运行作业时,我们又遇到了同样的错误。经过一番交叉检查,我们发现 Excel 文件是由我们遇到的团队打开的。
谢谢大家,
普格尔
【问题讨论】:
-
该消息看起来像是围绕着 EXCEL 引用的 COM 对象。在我们的商店中,我们通常不会在服务器上安装 EXCEL。当我们需要导入/导出文件时,我们使用 *.csv 格式的平面文件。您是从桌面还是从 SQL 代理作业等以调试模式运行它。
-
在
77服务器上安装了 MS Excel。我对调试模式一无所知。所以让我尽快检查并更新。我们将尝试 .csv 文件格式。 -
请检查远程启动和远程激活后再试一次。
-
运气不好@AjeetVerma
-
那对不起兄弟,我们等着别人回复
标签: sql-server ssis