Нужна помощь по этому вопросу.Данные для входа пользователя не вытягивают активных пользователей
У меня есть работа, которая вытаскивает логины пользователя один раз в день и вставляет в таблицу. Цель этого - собрать информацию о пользователе, чтобы узнать, какие учетные записи могут быть удалены через некоторое время.
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
Вы можете запросить Active Directory с помощью t-sql ... вы можете использовать Google для получения дополнительной информации или задать следующий вопрос, если вам нужна конкретная помощь. Вам нужно будет перебирать группы, чтобы получить членство, а затем перекрестно ссылаться на это. Я лично сделал бы это с помощью уровня приложения, но вы могли бы сделать все это из пакета SQL. – btberry