Digamos que eu seja um usuário no domínio do Windows DC (DataCenter).
Meu nome de usuário é DC\Alguém
Estou no grupo DC\Developers
Agora o SQL-Server tem o grupo de login chamado DC\Developers, e com isso posso fazer login no servidor com segurança integrada.
Agora estou tentando obter o login do SQL-Server (com o que quero dizer DC\Developers), mas não consigo descobrir como. Tudo o que consigo é o nome de usuário (DC\Somebody).
Mas eu quero obter DC\Developers.
Como eu posso fazer isso ?
Estas são as funções que tentei até agora, sem sucesso:
SELECT -- http://blog.sqlconcepts.co.nz/2011/07/who-am-i.html
ORIGINAL_LOGIN() AS OriginalLogin
,SUSER_SNAME() AS CurrentContext
,SESSION_USER AS SessionUser
,SYSTEM_USER AS SystemUser
,CURRENT_USER AS CurrentUser
,user AS "WhichUserIsThat?"
,ORIGINAL_LOGIN() AS OriginalLogin
,USER_NAME() AS UserName
Além disso, o que acontece se vários grupos forem adicionados como logins do sql-server e eu for membro de todos eles e, em seguida, efetuar login com segurança integrada. Qual login será necessário? Parece ser o primeiro em ordem alfabética ...
Para obter os grupos AD com logins existentes na instância à qual seu login
DC\Somebody
pertencexp_logininfo
sys.login_token
Um exemplo para validar isso para outros logins com representação
Resultado
Permissões para vários grupos do AD
Você receberá os direitos
GRANT
/ de cada um . têm precedência sobre as permissões.DENY
AD Group
DENY
GRANT
Uma redação mais completa em uma resposta anterior de @Max Vernon pode ser encontrada aqui .