2014-02-27 85 views

回答

3

我希望这个解决方案是对别人有用。

SELECT left(tbComputerTarget.FullDomainName,30) as [Machine Name] 
      ,count(tbComputerTarget.FullDomainName) as [# of Missing patches] 
      ,tbComputerTarget.LastSyncTime as [Last Sync Time] 
FROM tbUpdateStatusPerComputer INNER JOIN tbComputerTarget ON tbUpdateStatusPerComputer.TargetID =   
      tbComputerTarget.TargetID 
WHERE (NOT (tbUpdateStatusPerComputer.SummarizationState IN (’1′, ’4′))) AND 
      tbUpdateStatusPerComputer.LocalUpdateID IN (SELECT LocalUpdateID FROM dbo.tbUpdate WHERE UpdateID IN   
      (SELECT UpdateID FROM PUBLIC_VIEWS.vUpdateApproval WHERE Action=’Install’)) 
GROUP BY tbComputerTarget.FullDomainName, tbComputerTarget.LastSyncTime 
ORDER BY COUNT(*) DESC 
1

我可以过滤更新名称

SELECT C.FULLDOMAINNAME AS COMPUTADOR,VU.DEFAULTTITLE AS ATUALIZAÇÃO, 
     'STATUS' = CASE 
     WHEN UP.SummarizationState = 1 THEN 'NÃO INSTALADO' 
     WHEN UP.SummarizationState = 2 THEN 'NÃO INSTALADO' 
     WHEN UP.SummarizationState = 3 THEN 'INSTALANDO' 
     WHEN UP.SummarizationState = 4 THEN 'INSTALADO' 
     WHEN UP.SummarizationState = 5 THEN 'FALHOU' 
     END 

FROM TBCOMPUTERTARGET C 
INNER JOIN tbUpdateStatusPerComputer UP ON C.TargetID = UP.TargetID 
INNER JOIN tbUpdate U ON UP.LocalUpdateID = U.LocalUpdateID 
INNER JOIN [PUBLIC_VIEWS].[vUpdate] VU ON U.UpdateID = VU.UpdateId 
WHERE VU.DefaultTitle LIKE 'WINDOWS Internet Explorer 9 for Windows 7' 
     OR VU.DefaultTitle LIKE'Update for Microsoft Office 2010%' 
+0

这提供了没有好处我提出的问题。我正在寻找每个服务器的未决更新数量,而不是特定的更新。如果您想回答如何按更新过滤,最好创建一个单独的问题。 – vesuvious