部署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 服务,再次查看事件查看器,该报错应该就会消失了。

相关推荐
xuefuhe1 小时前
SQL Server sp_replmonitorsubscriptionpendingcmds
sqlserver
龙仔7253 天前
SQL Server 批量多库只读账号一键脚本(带逐行注释完整脚本 + 分段逐句详细解释)
服务器·数据库·sql·sqlserver·dba
xuefuhe8 天前
SQL Server查看系统存储过程及视图的定义
sqlserver
techdashen8 天前
Uber 如何完成超大规模 JUnit 迁移:从 JUnit 4 到 JUnit 5 的自动化工程实践
junit·sqlserver·自动化
jieyucx9 天前
【系统安全铁律】解密 Linux 权限三色数字密码:chmod 最小化赋权与生产环境避坑指南
linux·安全·系统安全·权限·chmod·777
xuefuhe10 天前
SQL Server Configuration Manager报Cannot connect to WMI provider错误
sqlserver
殳翰12 天前
spring对junit的支持
spring·junit·sqlserver
可触的未来,发芽的智生12 天前
发现-认知系统记忆架构工程启示录
数据库·人工智能·python·程序人生·sqlserver
ClouGence13 天前
SQL Server CDC 如何降低主库压力?Always On 备库读取实践
数据库·后端·sql·sqlserver