[VBS] 성능 수집 시간과 OM DB 인서트 시간에 많은 차이가 나는 서버 목록 쿼리 Etc.2011. 3. 7. 11:09
VBS VBScript SCOM System Center Operations Manager
성능 수집 시간과 OM DB 인서트 시간에 많은 차이가 나는 서버 목록 쿼리
Dim TimeGap, objCN, strConnection, objRS, strSQLQuery
TimeGap = 15
Set objCN = CreateObject("ADODB.Connection")
strConnection = "Driver={SQL Server};Server=.;Trusted_Connection=TRUE"
objCN.Open strConnection
strSQLQuery= "USE OperationsManager"
strSQLQuery= strSQLQuery & " select"
strSQLQuery= strSQLQuery & " vme.path"
strSQLQuery= strSQLQuery & ", max(vpd.TimeAdded) as TimeAdded"
strSQLQuery= strSQLQuery & ", max(vpd.TimeSampled) as TimeSampled"
strSQLQuery= strSQLQuery & ", DATEDIFF(MINUTE, max(vpd.TimeSampled), max(vpd.TimeAdded)) as TimeGap"
strSQLQuery= strSQLQuery & ", Dateadd(HOUR, 9, max(vpd.TimeAdded)) as LocalTimeAdded"
strSQLQuery= strSQLQuery & ", Dateadd(HOUR, 9, max(vpd.TimeSampled)) as LocalTimeSampled"
strSQLQuery= strSQLQuery & " from PerformanceDataInsertView as vpd"
strSQLQuery= strSQLQuery & " join PerformanceCounterView as vpc on vpc.PerformanceSourceInternalId = vpd.PerformanceSourceInternalId"
strSQLQuery= strSQLQuery & " join ManagedEntityGenericView as vme on vme.Id = vpc.ManagedEntityId"
strSQLQuery= strSQLQuery & " where DATEDIFF(MINUTE, vpd.TimeSampled, vpd.TimeAdded) >= " & TimeGap
strSQLQuery= strSQLQuery & " group by vme.path"
objRS=CreateObject("ADODB.Recordset")
Set objRS = objCN.Execute(strSQLQuery)
strMsg = "다음 서버(들)의 성능 수집 시간과 데이터베이스 입력 시간의 차이가 " & TimeGap &"분 이상입니다. 컴퓨터의 시간 설정을 확인해 보시기 바랍니다. "
strServerList = ""
Do Until objRS.EOF
strServerList = strServerList & objRS(0) & "(시간 차: " & objRS(3) & "분), "
objRS.MoveNext
Loop
objRS.Close
objCN.Close
If strServerList <> "" Then
strServerList = Left(strServerList, Len(strServerList)-2)
End If
WScript.Echo strMsg & strServerList