xp_logininfo (Transact-SQL)
Si applica a: SQL Server
Restituisce informazioni su utenti e gruppi di Windows.
Convenzioni relative alla 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';