sp_helpuser (Transact-SQL)
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.
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
Reference
Security Stored Procedures (Transact-SQL)
System Stored Procedures (Transact-SQL)
sys.database_principals (Transact-SQL)
sys.database_role_members (Transact-SQL)
sys.server_principals (Transact-SQL)
sys.server_role_members (Transact-SQL)