SQL 2005 쿼리를 작성하여 3 개의 SCCM 데이터보기의 레코드를 검색하고 결합하려고합니다. 첫 번째보기에는 유효한 PC의 레코드가 포함되어 있습니다. 두 번째는 로그온 정보 (PC ID, 사용자 이름, 타임 스탬프 등)를 포함합니다. 세 번째는 PC-ID, IP 주소를 포함합니다.SCCM 쿼리 : 최신 사용자 로그온 등록 (있는 경우)을 얻고 PC, IP, 사용자, logontimestamp를 표시합니다.
1stview에는 PC 당 하나의 고유 레코드 만 포함됩니다. 두 번째보기에는 PC 당 여러 개의 레코드가 포함될 수 있습니다. 사용자가 컴퓨터에 로그온 할 때마다 하나씩. 세 번째는 PC 당 여러 개의 레코드를 포함 할 수 있습니다. 하나는 데이터베이스에 등록 된 각 IP에 대한 레코드입니다.
는 그래서 같은있다 :
이view1 (v_R_System_Valid) fields (among others)
ResourceID, NetBIOS
view2 (v_GS_SYSTEM_CONSOLE_USER) fields (among others)
id,ResourceID,SystemConsoleUser0,LastConsoleUse0
view3 (v_RA_System_IPAddresses) fields (among others)
ResourceID,IP_Addresses0
내가 쿼리 나에게 모든 PC의 첫 번째보기의 목록을 제시하고, 또한 IP 주소 (가능) 표시 할; 로그온이 발생하고 WHOM에 의해 가장 최근의 시간.
내가 만든 sofar 쿼리는 각 PC를 반환하지만 해당 PC에 로그온 한 각 사용자와 최신 사용자가 아닌 해당 사용자를 포함합니다. 아무도 내가 이것을 알아낼 수 있기를 바랍니다. 저는 경험이 많은 SQL 스크립터가 아니며 인터넷에서 정보를 사용하여 아래 코드를 구성했습니다.
내 쿼리 : 사전에
Select
SV.Netbios_Name0 AS [NetBIOS Name],
SCU.SystemConsoleUser0 AS [User Name],
CAST(ISNULL(SCU.theLastTime, 0) AS datetime) AS [Last Console Use]
from v_R_System_Valid SV
Left Join (Select ResourceID, SystemConsoleUser0,
Max(LastConsoleUse0) as theLastTime
from v_GS_SYSTEM_CONSOLE_USER
group by ResourceID, SystemConsoleUser0)
AS SCU on SCU.ResourceID = SV.ResourceID
where (SV.Netbios_Name0 not like 'ENC-%')
and (SV.Netbios_Name0 not like 'NL%')
order by SV.Netbios_Name0
감사합니다, 에릭
감사합니다! – bernie