Wednesday, January 28, 2015

how to get retrieving dynamics GP user idle time.

SELECT  CASE    WHEN S.session_id is null      THEN 'Missing DEX_SESSION'    WHEN A.USERID <> P.loginame or P.loginame is null      THEN 'Phantom'  ELSE ''  END MismatchOnUserID,  CASE    WHEN datediff ( mi, P.last_batch, getdate() ) > 90      THEN 'Idle ' + str (  datediff ( mi, P.last_batch, getdate() ) )    ELSE ''   END AS Working  , A.USERID  , A.CMPNYNAM  , INTERID  , LOGINDAT + LOGINTIM LoginDatestamp  , SQLSESID  , P.login_time  , P.last_batch  , datediff ( mi, P.last_batch, getdate() ) SinceLastAction  , S.session_id  , S.sqlsvr_spid  , P.spid  , P.status  , P.net_address  , P.dbid  , P.hostname  , P.loginameFROM DYNAMICS..ACTIVITY A  LEFT JOIN DYNAMICS..SY01400 U on A.USERID = U.USERID  LEFT JOIN DYNAMICS..SY01500 C on A.CMPNYNAM = C.CMPNYNAM  LEFT JOIN tempdb..DEX_SESSION S on A.SQLSESID = S.session_id  LEFT JOIN master..sysprocesses P on S.sqlsvr_spid = P.spid and ecid = 0  LEFT JOIN master..sysdatabases D on P.dbid = D.dbid

No comments:

Post a Comment