sp_helpuser (Transact-SQL)
Se aplica a: SQL Server
Proporciona información acerca de las entidades de seguridad de base de datos en la base de datos actual.
Importante
sp_helpuser
no devuelve información sobre elementos protegibles que se introdujeron en SQL Server 2005 (9.x) y versiones posteriores. Use sys.database_principals en su lugar.
Convenciones de sintaxis de Transact-SQL
Sintaxis
sp_helpuser [ [ @name_in_db = ] N'name_in_db' ]
[ ; ]
Argumentos
[ @name_in_db = ] N'name_in_db'
Nombre del usuario de la base de datos o del rol de base de datos en la base de datos actual. @name_in_db es sysname, con un valor predeterminado de NULL
. @name_in_db deben existir en la base de datos actual. Si no se especifica @name_in_db , sp_helpuser
devuelve información sobre todas las entidades de seguridad de base de datos.
Valores de código de retorno
0
(correcto) o 1
(erróneo).
Conjunto de resultados
En la tabla siguiente se muestra el conjunto de resultados cuando no se especifica ninguna cuenta de usuario, SQL Server o usuario de Windows para @name_in_db.
Nombre de la columna | Tipo de datos | Descripción |
---|---|---|
UserName |
sysname | Usuarios en la base de datos actual. |
RoleName |
sysname | Roles a los que UserName pertenece. |
LoginName |
sysname | Inicio de sesión de UserName . |
DefDBName |
sysname | Base de datos predeterminada de UserName . |
DefSchemaName |
sysname | Esquema predeterminado del usuario de la base de datos. |
UserID |
smallint | Id. de en la base de UserName datos actual. |
SID |
smallint | Número de identificación de seguridad del usuario (SID). |
En la siguiente tabla se muestra el conjunto de resultados cuando no se especifica una cuenta de usuario y existen alias en la base de datos actual.
Nombre de la columna | Tipo de datos | Descripción |
---|---|---|
LoginName |
sysname | Inicios de sesión asociados con los usuarios en la base de datos actual. |
UserNameAliasedTo |
sysname | Nombre de usuario en la base de datos actual al que está asociado el inicio de sesión. |
En la tabla siguiente se muestra el conjunto de resultados cuando se especifica un rol para @name_in_db.
Nombre de la columna | Tipo de datos | Descripción |
---|---|---|
Role_name |
sysname | Nombre del rol en la base de datos actual. |
Role_id |
smallint | Id. de rol para el rol en la base de datos actual. |
Users_in_role |
sysname | Miembro del rol en la base de datos actual. |
Userid |
smallint | Identificador de usuario para el miembro del rol. |
Comentarios
Para ver información sobre la pertenencia a roles de base de datos, use sys.database_role_members. Para ver información sobre los miembros del rol de servidor, use sys.server_role_members y para ver información sobre las entidades de seguridad de nivel de servidor, use sys.server_principals.
Permisos
Debe pertenecer al rol public .
La información mostrada está sometida a restricciones de acceso a los metadatos. Las entidades en las que la entidad de seguridad no tiene permiso no aparecen. Para obtener más información, consulte Metadata Visibility Configuration.
Ejemplos
A Enumerar todos los usuarios
En el siguiente ejemplo se presentan todos los usuarios de la base de datos actual.
EXEC sp_helpuser;
B. Enumeración de la información de un solo usuario
En el siguiente ejemplo se presenta información acerca del propietario de la base de datos del usuario (dbo
).
EXEC sp_helpuser 'dbo';
C. Enumeración de la información de un rol de base de datos
En el ejemplo siguiente se muestra información sobre el rol fijo de base de datos db_securityadmin .
EXEC sp_helpuser 'db_securityadmin';
Contenido relacionado
- Procedimientos almacenados de seguridad (Transact-SQL)
- Procedimientos almacenados del sistema (Transact-SQL)
- Entidades de seguridad (motor de base de datos)
- sys.database_principals (Transact-SQL)
- sys.database_role_members (Transact-SQL)
- sys.server_principals (Transact-SQL)
- sys.server_role_members (Transact-SQL)