需要一些帮助。不吸引活跃用户的用户登录信息
我有一项工作,每天拉一次用户登录并插入表中。这样做的目的是收集用户信息,以查看一段时间后可以放弃哪些帐户。
Insert into [User_Login_Audit]
Select
login_name, max (login_time) as last_login_time,
last_successful_logon, (select @@servername) as server_instance, getdate()
from
sys.dm_exec_sessions
group by
login_name, last_successful_logon;
我正在使用下面的查询来收集使用注册服务器的用户信息。
SELECT
[Login_name],
MAX([last_login_time]) AS Last_login_date,
[server_instance],
DATEDIFF(day, getdate(), max([last_login_time])) Days
FROM
[Benefitfocus_DBA].[dbo].[User_Login_Audit]
WHERE
Login_name NOT IN ('NT AUTHORITY\SYSTEM', 'sa','')
AND last_successful_logon IS NOT NULL
GROUP BY
Login_name, server_instance
我已经注意到,上面的查询是直接从sys.dm_exec_sessions
的所有信息。它记录的某些登录名已从该实例的安全性中删除。我只需要在实例上处于活动状态和/或出现状态的用户。有人可以建议一种方法来修改插入查询,以便只拉取当前处于安全状态的用户或第二个查询中的用户排序哪些用户在实例上处于活动状态?
我希望对此有所了解。
我想我的问题是与AD组即可。这在我所看到的中是有道理的。这让我怀疑我是否可以将用户登录绑定到所用的组。 – bwilliamson
您可以使用t-sql查询Active Directory ...您可以通过Google查询更多信息或询问后续问题是否需要特定帮助。您需要遍历组来获得成员资格,然后交叉引用。我个人会通过应用层做这种事情,但是你可以在SQL批处理中完成所有这些工作。 – btberry