xp_logininfo (Transact-SQL)

Si applica a:SQL Server

Restituisce informazioni su utenti e gruppi di Windows.

Convenzioni di sintassi Transact-SQL

Sintassi

xp_logininfo [ [ @acctname = ] 'account_name' ]
     [ , [ @option = ] 'all' | 'members' ]
     [ , [ @privilege = ] 'variable_name' OUTPUT ]

Argomenti

[ @acctname = ] '@acctname'

Nome di un utente o di un gruppo di Windows a cui è concesso l'accesso a SQL Server. @acctname è sysname, con un valore predefinito .NULL Se @acctname non viene specificato, vengono segnalati tutti i gruppi di Windows e gli utenti di Windows a cui è stata esplicitamente concessa l'autorizzazione di accesso. @acctname deve essere completo. Ad esempio, CONTOSO\macraes o BUILTIN\Administrators.

[ @option = ] '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 è varchar(10), con il valore predefinito NULL. A meno che non all venga specificato, viene visualizzato solo il primo percorso di autorizzazione.

[ @privilege = ] 'variable_name' OUTPUT ]

Parametro di output che restituisce il livello di privilegio dell'account di Windows specificato. @privilege è varchar(10), con il valore predefinito Not wanted. Il livello di privilegio restituito è utente, amministratore o null.

Quando OUTPUT viene specificato, questa opzione inserisce @privilege nel parametro di output.

Valori del codice restituito

0 (esito positivo) o 1 (errore).

Set di risultati

Nome colonna Tipo di dati Descrizione
nome account sysname Nome completo dell'account di Windows.
type char(8) Tipo di account di Windows. I valori validi sono user o group.
Privilegio char(9) Privilegio di accesso per SQL Server. I valori validi sono admin, user o NULL.
nome di accesso mappato sysname Per gli account utente con privilegi utente, il nome di accesso mappato mostra il nome di accesso mappato che SQL Server tenta di usare durante l'accesso con questo account usando le regole mappate con il nome di dominio aggiunto prima.
percorso di autorizzazione sysname Appartenenza al gruppo che ha permesso all'account di ottenere l'accesso.

Osservazioni:

Se viene specificato @acctname , xp_logininfo segnala il livello di privilegio massimo dell'utente o del gruppo di Windows specificato. Se un utente di Windows ha accesso sia come amministratore di sistema che come utente di dominio, viene segnalato come amministratore di sistema. Se l'utente è membro di più gruppi di Windows di livello di privilegio uguale, viene segnalato solo il gruppo a cui è stato concesso l'accesso per la prima volta a SQL Server.

Se @acctname è 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 @acctname non può essere identificato come utente o gruppo di Windows valido, viene restituito un messaggio di errore.

Se @acctname e all vengono specificati, vengono restituiti tutti i percorsi di autorizzazione per l'utente o il gruppo di Windows. Se @acctname è membro di più gruppi, a tutti i quali è stato concesso l'accesso a SQL Server, vengono restituite più righe. Le admin righe dei privilegi vengono restituite prima delle righe dei user privilegi e, all'interno di un livello di privilegio, le righe vengono restituite nell'ordine in cui sono stati creati gli account di accesso di SQL Server corrispondenti.

Se @acctname e members vengono specificati, viene restituito un elenco dei membri di livello successivo del gruppo. Se @acctname è un gruppo locale, l'elenco può includere utenti, utenti di dominio e gruppi locali. Se @acctname è un account di dominio, l'elenco è costituito da utenti di dominio. SQL Server deve connettersi al controller di dominio per recuperare le informazioni sull'appartenenza al gruppo. Se il server non riesce a contattare il controller di dominio, non vengono restituite informazioni.

xp_logininfo restituisce solo informazioni dai gruppi globali di Active Directory, non dai gruppi universali.

Autorizzazioni

Richiede l'appartenenza al ruolo predefinito del server sysadmin o all'appartenenza al ruolo predefinito del database pubblico nel master database con autorizzazione EXECUTE concessa.

Esempi

Nell'esempio seguente vengono visualizzate informazioni sul gruppo di Windows BUILTIN\Administrators.

EXEC xp_logininfo 'BUILTIN\Administrators';