部署SSIS并增加SQL Server代理作业,任务正常执行但事件查看器一直报DCOM权限问题

问题描述

应用程序-特定 权限设置并未向在应用程序容器 不可用 SID (不可用)中运行的地址 LocalHost (使用 LRPC) 中的用户 NT

SERVICE\SQLSERVERAGENT SID

(S-1-5-80-344959196-2060754871-2302487193-2804545603-1466107430)授予针对

CLSID 为 {806835AE-FD04-4870-A1E8-D65535358293} 、APPID 为

{EE4171E6-C37E-4D04-AF4C-8617BC7D4914} 的 COM 服务器应用程序的 本地 激活

权限。此安全权限可以使用组件服务管理工具进行修改。

如下图所示:

解决方案:

第一步:修改注册表权限(为后续修改铺路)

  1. 按 Win + R 键,输入 regedit 并回车,打开注册表编辑器。
  2. 在顶部地址栏粘贴以下路径并回车:HKEY_CLASSES_ROOT\AppID{EE4171E6-C37E-4D04-AF4C-8617BC7D4914}
  3. 右键点击 {EE4171E6-C37E-4D04-AF4C-8617BC7D4914} 这个文件夹,选择 "权限"。
  4. 点击 "高级",在顶部的"所有者"处点击 "更改"。
  5. 在输入框中输入 Administrators,点击"检查名称"后确定。
  6. 回到权限窗口,选中 Administrators 组,勾选下方的 "完全控制",点击确定保存。

第二步:在组件服务中授予权限

  1. 按 Win + R 键,输入 dcomcnfg 并回车,打开"组件服务"。
  2. 依次展开:组件服务 -> 计算机 -> 我的电脑 ->DCOM 配置。
  3. 在右侧列表中找到 APPID 为 {EE4171E6-C37E-4D04-AF4C-8617BC7D4914} 的组件(如果列表中没有直接显示 APPID,可以右键 -> 查看 -> 详细信息)。
  4. 右键点击该组件,选择 "属性",切换到 "安全" 选项卡。
  5. 在 "启动和激活权限" 区域,选择 "自定义",然后点击旁边的 "编辑"。
  6. 点击 "添加",输入 NT SERVICE\SQLSERVERAGENT,点击"检查名称"后确定。
  7. 选中刚添加的 SQLSERVERAGENT用户,在下方的权限列表中勾选 "本地激活"。
  8. 一路点击"确定"保存所有设置。
  9. 同时检查是否有当前Users用户组,没有则给其增加权限,方式同6.7.8。

完成以上操作后,你可以重启一下 SQL Server Agent 服务,再次查看事件查看器,该报错应该就会消失了。

相关推荐
geovindu2 天前
sql: Data Modeling Patterns
数据库·sql·设计模式·sqlserver
1314lay_10076 天前
C#调用Sql Server存储过程,并且使用传入表结构
数据库·经验分享·笔记·sqlserver·c#
1314lay_10076 天前
C#调用Sql Server存储过程,有返回值的
数据库·sqlserver·c#
Aime_Perfect9 天前
sqlserver AlwaysOn(一)
数据库·sqlserver
Aime_Perfect11 天前
sqlserver always on
服务器·数据库·sqlserver
xuefuhe14 天前
SQL Server 模拟checksum检测错误
sqlserver
数智启示录19 天前
Flink CDC 机制精讲(四):一条 SQLServer CDC 事件如何保持顺序 【面试宝典】
数据库·面试·sqlserver·flink
数据库小学妹21 天前
SQL Server数据迁移怎么做?一次事故复盘:备份还原、bcp、CDC、KDTS全拆解
sqlserver·备份还原·数据库迁移·信创迁移·sqlserver数据迁移
孔明click3321 天前
不想写代码,但想要集成一个登录页面?Sa-Token-Quick-Login 帮你实现!
java·sa-token·开源·springboot·登录·权限·权限认证
xuefuhe21 天前
SQL Server exec vs sp_executesql
sqlserver