You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用SMS SQL查询同时安装多个KB热修复补丁的设备?

解决SCCM中查询同时安装多个KB补丁的机器问题

嘿,你那个直接用逗号分隔多个KB号的写法是行不通的——SQL语法里不支持这种格式,会直接报语法错误。而且就算改成IN ('KB123','KB124','KB125'),那也只能找出安装了其中任意一个补丁的机器,完全不是你要的「同时安装所有指定补丁」的场景。

下面给你两种可行的方案,根据你的实际需求选就行:

方案一:多次内连接(适合补丁数量少的情况)

这种方法逻辑直白,每一个KB补丁都和系统表做一次内连接,只有同时满足所有连接条件的机器才会被选中:

select 
    SMS_R_SYSTEM.ResourceID,
    SMS_R_SYSTEM.ResourceType,
    SMS_R_SYSTEM.Name,
    SMS_R_SYSTEM.SMSUniqueIdentifier,
    SMS_R_SYSTEM.ResourceDomainORWorkgroup,
    SMS_R_SYSTEM.Client 
from SMS_R_System 
inner join SMS_G_System_QUICK_FIX_ENGINEERING qfe1 
    on qfe1.ResourceId = SMS_R_System.ResourceId 
    and qfe1.HotFixID = 'KB123'
inner join SMS_G_System_QUICK_FIX_ENGINEERING qfe2 
    on qfe2.ResourceId = SMS_R_System.ResourceId 
    and qfe2.HotFixID = 'KB124'
inner join SMS_G_System_QUICK_FIX_ENGINEERING qfe3 
    on qfe3.ResourceId = SMS_R_System.ResourceId 
    and qfe3.HotFixID = 'KB125'

简单说就是:只有当某台机器在qfe1里有KB123的记录、qfe2里有KB124的记录、qfe3里有KB125的记录时,才会被筛选出来,完美匹配「同时安装多个补丁」的需求。

方案二:GROUP BY + HAVING(适合补丁数量多的情况)

如果以后要查的补丁数量很多,多次写JOIN会很繁琐,这种分组统计的方法扩展性更好:

select 
    SMS_R_SYSTEM.ResourceID,
    SMS_R_SYSTEM.ResourceType,
    SMS_R_SYSTEM.Name,
    SMS_R_SYSTEM.SMSUniqueIdentifier,
    SMS_R_SYSTEM.ResourceDomainORWorkgroup,
    SMS_R_SYSTEM.Client 
from SMS_R_System 
inner join SMS_G_System_QUICK_FIX_ENGINEERING 
    on SMS_G_System_QUICK_FIX_ENGINEERING.ResourceId = SMS_R_System.ResourceId 
where SMS_G_System_QUICK_FIX_ENGINEERING.HotFixID in ('KB123','KB124','KB125')
group by 
    SMS_R_SYSTEM.ResourceID,
    SMS_R_SYSTEM.ResourceType,
    SMS_R_SYSTEM.Name,
    SMS_R_SYSTEM.SMSUniqueIdentifier,
    SMS_R_SYSTEM.ResourceDomainORWorkgroup,
    SMS_R_SYSTEM.Client 
having count(distinct SMS_G_System_QUICK_FIX_ENGINEERING.HotFixID) = 3

思路是:先把所有安装了指定补丁中任意一个的机器捞出来,然后按机器的唯一标识分组,统计每个机器匹配到的不同补丁数量。只有数量等于你指定的补丁总数(这里是3)的机器,才说明所有补丁都安装了。以后要加补丁的话,只要修改IN里的列表,同时把HAVING后面的数字改成对应的数量就行。

小提示

记得把SQL里的双引号改成单引号哦,虽然部分数据库支持双引号,但单引号是SQL的标准写法,兼容性更好。

内容的提问来源于stack exchange,提问作者Fitz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 07:48:06