Comprendo che l'accesso degli utenti di dominio è mappato nel gruppo AD?
Devi tenere a mente che l'utente può trovarsi in diversi gruppi AD e ognuno di essi può essere mappato in qualche modo nel database, il che potrebbe essere un po' disordinato. Inoltre significa che hai bisogno di qualcosa con più risultati :)
Prova questo:
select * from sys.server_principals where type_desc = 'WINDOWS_GROUP' and is_member(name) = 1
Penso che dovrebbe acquisire correttamente tutti gli accessi al gruppo di Windows che saranno legati a utenti particolari. Dopodiché puoi unirti per gli utenti del database, ad esempio:
Select u.name from YourDB.sys.syslogins l
inner join YourDB.sys.sysusers u
on l.sid = u.sid
where l.loginname = ANY (select * from sys.server_principals where type_desc = 'WINDOWS_GROUP' and is_member(name) = 1)
Devi tenere a mente che, fino in fondo, potresti dover gestire interi set piuttosto che singoli valori.