xp_logininfo (Transact-SQL)
Restituisce informazioni su utenti e gruppi di Windows.
Sintassi
xp_logininfo [ [ @acctname = ] 'account_name' ]
[ , [ @option = ] 'all' | 'members' ]
[ , [ @privilege = ] variable_name OUTPUT]
Argomenti
[ @acctname = ] 'account_name'
Nome di un utente o un gruppo di Windows a cui è stato concesso l'accesso a SQL Server. account_name è di tipo sysname e il valore predefinito è NULL. Se account_name viene omesso, vengono restituiti tutti i gruppi e gli utenti di Windows a cui è stata concessa in modo esplicito l'autorizzazione di accesso. account_name deve essere un nome completo. ad esempio ADVWKS4\macraes o BUILTIN\Administrators.'all' | 'members'
Specifica se devono essere restituite informazioni su tutti i percorsi di autorizzazione per l'account oppure sui membri del gruppo di Windows. @option è di tipo varchar(10) e il valore predefinito è NULL. Se all viene omesso, viene visualizzato solo il primo percorso di autorizzazione.[ @privilege = ] variable_name
Parametro di output che restituisce il livello di privilegio dell'account di Windows specificato. variable_name è di tipovarchar(10) e il valore predefinito è Not wanted. I possibili valori restituiti sono user, admin o null.OUTPUT
Quando si specifica questo argomento, il valore di variable_name viene inserito nel parametro di output.
Valori restituiti
0 (esito positivo) o 1 (esito negativo)
Set di risultati
Nome colonna |
Tipo di dati |
Descrizione |
---|---|---|
account name |
sysname |
Nome completo dell'account di Windows. |
tipo |
char(8) |
Tipo di account di Windows. I valori validi sono user e group. |
privilege |
char(9) |
Privilegio di accesso per SQL Server. I valori validi sono admin, user o null. |
mapped login name |
sysname |
Per gli account utente con privilegio di tipo user, mapped login name indica il nome di accesso mappato che SQL Server tenta di utilizzare quando si accede con questo account in base alle regole mappate, facendo precedere il nome del dominio. |
permission path |
sysname |
Appartenenza al gruppo che ha permesso all'account di ottenere l'accesso. |
Osservazioni
Se si specifica account_name , xp_logininfo restituisce il massimo livello di privilegio dell'utente o del gruppo di Windows specificato. Se un utente di Windows può accedere sia come amministratore di sistema che come utente di dominio, verrà restituito come amministratore di sistema. Se l'utente è membro di più gruppi di Windows con livello di privilegio uguale, viene restituito soltanto il gruppo a cui è stato concesso per primo l'accesso a SQL Server.
Se account_name è un utente o un gruppo di Windows valido non associato a un account di accesso di SQL Server, viene restituito un set di risultati vuoto. Se non è possibile identificare account_name come utente o gruppo di Windows valido, viene restituito un messaggio di errore.
Se si specificano account_name e all, vengono restituiti tutti i percorsi di autorizzazione per l'utente o il gruppo di Windows. Se account_name è membro di più gruppi a cui è stato concesso l'accesso a SQL Server, vengono restituite più righe. Le righe relative al privilegio admin vengono restituite prima delle righe relative al privilegio user, mentre le righe relative a un livello di privilegio vengono restituite nell'ordine in cui sono stati creati gli account di accesso di SQL Server corrispondenti.
Se si specificano account_name e members, viene restituito un elenco dei membri di livello successivo del gruppo. Se account_name è un gruppo locale, l'elenco può includere utenti locali, utenti di dominio e gruppi. Se account_name è un account di dominio, l'elenco è costituito da utenti di dominio. Per recuperare informazioni sull'appartenenza ai gruppi, SQL Server deve connettersi al controller di dominio. Se il server non può contenere il controller di dominio, non verranno restituite informazioni.
Tramite xp_logininfo vengono restituite informazioni solo dai gruppi globali di Active Directory e non da quelli universali.
Autorizzazioni
È richiesta l'appartenenza al ruolo predefinito del server sysadmin o al ruolo predefinito del database public nel database master con l'autorizzazione EXECUTE concessa.
Esempi
Nell'esempio seguente vengono visualizzate informazioni sul gruppo di Windows BUILTIN\Administrators.
EXEC xp_logininfo 'BUILTIN\Administrators'