Rozumiem, że login użytkowników domeny jest zmapowany do grupy AD?
Trzeba mieć na uwadze, że użytkownik może należeć do kilku grup AD i każdą z nich można w jakiś sposób zmapować w bazie danych, co może być nieco bałaganiarskie. Oznacza to również, że potrzebujesz czegoś z wieloma wynikami :)
Spróbuj tego:
select * from sys.server_principals where type_desc = 'WINDOWS_GROUP' and is_member(name) = 1
Myślę, że powinien poprawnie pobierać wszystkie loginy Windows Group, które będą powiązane z konkretnymi użytkownikami. Następnie możesz dołączyć do niego dla użytkowników bazy danych, np.:
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)
Musisz pamiętać, że - przez całą drogę - być może będziesz musiał obsługiwać całe zestawy, a nie pojedyncze wartości.