Share via


sp_helpuser (Transact-SQL)

Si applica a:SQL Server

Restituisce informazioni sulle entità a livello di database nel database corrente.

Importante

sp_helpuser non restituisce informazioni sulle entità a protezione diretta introdotte in SQL Server 2005 (9.x) e versioni successive. Usare invece sys.database_principals .

Convenzioni relative alla sintassi Transact-SQL

Sintassi

sp_helpuser [ [ @name_in_db = ] N'name_in_db' ]
[ ; ]

Argomenti

[ @name_in_db = ] N'name_in_db'

Nome dell'utente del database o del ruolo del database nel database corrente. @name_in_db è sysname, con il valore predefinito NULL. @name_in_db deve esistere nel database corrente. Se @name_in_db non viene specificato, sp_helpuser restituisce informazioni su tutte le entità di database.

Valori del codice restituito

0 (esito positivo) o 1 (errore).

Set di risultati

Nella tabella seguente viene illustrato il set di risultati quando non viene specificato alcun account utente, SQL Server o utente windows per @name_in_db.

Nome colonna Tipo di dati Descrizione
UserName sysname Utenti nel database corrente.
RoleName sysname Ruoli a cui UserName appartiene.
LoginName sysname Account di accesso di UserName.
DefDBName sysname Database predefinito di UserName.
DefSchemaName sysname Schema predefinito dell'utente del database.
UserID smallint ID di UserName nel database corrente.
SID smallint ID di sicurezza dell'utente (SID)

Nella tabella seguente viene illustrato il set di risultati quando non si specifica alcun account utente ed esistono alias nel database corrente.

Nome colonna Tipo di dati Descrizione
LoginName sysname Account di accesso associati come alias agli utenti del database corrente.
UserNameAliasedTo sysname Nome utente nel database corrente associato come alias all'account utente.

Nella tabella seguente viene illustrato il set di risultati quando viene specificato un ruolo per @name_in_db.

Nome colonna Tipo di dati Descrizione
Role_name sysname Nome del ruolo nel database corrente.
Role_id smallint ID del ruolo nel database corrente.
Users_in_role sysname Membro del ruolo nel database corrente.
Userid smallint ID utente del membro del ruolo.

Osservazioni:

Per visualizzare informazioni sull'appartenenza ai ruoli del database, usare sys.database_role_members. Per visualizzare informazioni sui membri del ruolo del server, usare sys.server_role_members e per visualizzare informazioni sulle entità a livello di server, usare sys.server_principals.

Autorizzazioni

È richiesta l'appartenenza al ruolo public .

Le informazioni restituite sono soggette a limitazioni di accesso ai metadati. Le entità in cui l'entità non dispone dell'autorizzazione non vengono visualizzate. Per altre informazioni, vedere Metadata Visibility Configuration.

Esempi

R. Elencare tutti gli utenti

Nell'esempio seguente vengono elencati tutti gli utenti nel database corrente.

EXEC sp_helpuser;

B. Elencare le informazioni per un singolo utente

Nell'esempio seguente vengono restituite informazioni sul proprietario del database utente (dbo).

EXEC sp_helpuser 'dbo';

C. Elencare le informazioni per un ruolo del database

Nell'esempio seguente vengono elencate informazioni sul ruolo predefinito del database db_securityadmin .

EXEC sp_helpuser 'db_securityadmin';