Non sono sicuro di aver scelto il titolo giusto per questa domanda. quello che sto veramente cercando è, dato un singolo utente di Windows AD, vorrei scoprire l'elenco dei gruppi di Windows AD (accessi) che hanno accesso a un database specifico in questo server
quando eseguo la seguente query
select
name,
principal_id,
type,
type_desc,
default_schema_name,
create_date,
modify_date,
owning_principal_id,
sid,
is_fixed_role
from sys.database_principals
nel mio server
Microsoft SQL Server 2008 R2 (SP1) - 10.50.2500.0 (X64) 17 giugno 2011 00:54:03 Copyright (c) Microsoft Corporation Standard Edition (64-bit) su Windows NT 6.1 (Build 7601: Service Pack 1)
Ottengo i seguenti risultati (elenco parziale):
Devo conoscere tutte le autorizzazioni di un determinato accesso. questo accesso ha accesso al mio server / database tramite gruppi AD.
1) a quali gruppi AD, dall'elenco sopra, appartiene il mio login?
Lo sto facendo di seguito, ma vorrei davvero scoprire l'elenco dei gruppi AD (che hanno accesso a questo server in base all'immagine sopra) a cui appartiene questo utente.
Per prima cosa eseguo come utente in questione
EXECUTE AS LOGIN='mycompany\HThorne'
DECLARE @User VARCHAR(20)
SELECT @USER = SUBSTRING(SUSER_SNAME(),
CHARINDEX('\', SUSER_SNAME()) + 1, LEN(SUSER_SNAME()))
mi assicuro di avere le giuste credenziali
SELECT @USER
, SUSER_SNAME()
,SYSTEM_USER
, USER_NAME()
, CURRENT_USER
, ORIGINAL_LOGIN()
, USER
,SESSION_USER
Vado al database specifico e utilizzo fn_my_permissions - esegui come utente in questione
use WebDataImportStage
go
SELECT * FROM fn_my_permissions (NULL, 'DATABASE');
GO
REVERT
e questo mi sta dando il risultato qui sotto: