sp_helpuser (Transact-SQL)

THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Reports information about database-level principals in the current database.

Important

sp_helpuser does not return information about securables that were introduced in SQL Server 2005. Use sys.database_principals instead.

||
|-|
|Applies to: SQL Server ( SQL Server 2008 through current version).|

Topic link icon Transact-SQL Syntax Conventions

Syntax


sp_helpuser [ [ @name_in_db = ] 'security_account' ]  

Arguments

[ @name_in_db = ] 'security_account'
Is the name of database user or database role in the current database. security_account must exist in the current database. security_account is sysname, with a default of NULL. If security_account is not specified, sp_helpuser returns information about all database principals.

Return Code Values

0 (success) or 1 (failure)

Result Sets

The following table shows the result set when neither a user account nor a SQL Server or Windows user is specified for security_account.

Column name Data type Description
UserName sysname Users in the current database.
RoleName sysname Roles to which UserName belongs.
LoginName sysname Login of UserName.
DefDBName sysname Default database of UserName.
DefSchemaName sysname Default schema of the database user.
UserID smallint ID of UserName in the current database.
SID smallint User security identification number (SID).

The following table shows the result set when no user account is specified and aliases exist in the current database.

Column name Data type Description
LoginName sysname Logins aliased to users in the current database.
UserNameAliasedTo sysname User name in the current database to which the login is aliased.

The following table shows the result set when a role is specified for security_account.

Column name Data type Description
Role_name sysname Name of the role in the current database.
Role_id smallint Role ID for the role in the current database.
Users_in_role sysname Member of the role in the current database.
Userid smallint User ID for the member of the role.

Remarks

To see information about membership of database roles, use sys.database_role_members. To see information about server role members, use sys.server_role_members, and to see information about server-level principals, use sys.server_principals.

Permissions

Requires membership in the public role.

Information returned is subject to restrictions on access to metadata. Entities on which the principal has no permission do not appear. For more information, see Metadata Visibility Configuration.

Examples

A. Listing all users

The following example lists all users in the current database.

EXEC sp_helpuser;  

B. Listing information for a single user

The following example lists information about the user database owner (dbo).

EXEC sp_helpuser 'dbo';  

C. Listing information for a database role

The following example lists information about the db_securityadmin fixed database role.

EXEC sp_helpuser 'db_securityadmin';  

See Also

Security Stored Procedures (Transact-SQL)
System Stored Procedures (Transact-SQL)
Principals (Database Engine)
sys.database_principals (Transact-SQL)
sys.database_role_members (Transact-SQL)
sys.server_principals (Transact-SQL)
sys.server_role_members (Transact-SQL)