sys.server_principals (Transact-SQL)

Se aplica a: síSQL Server (todas las versiones admitidas) SíInstancia administrada de Azure SQL síAlmacenamiento de datos paralelos

Contiene una fila por cada entidad de seguridad a nivel de servidor.

Nombre de la columna Tipo de datos Descripción
name sysname Nombre de la entidad de seguridad. Es exclusivo en el servidor.
principal_id int Número de Id. de la entidad de seguridad. Es exclusivo en el servidor.
Junction varbinary(85) SID (identificador de seguridad) de la entidad de seguridad. Si se trata de una entidad de seguridad de Windows, coincide con el SID de Windows.
type char(1) Tipo de entidad de seguridad:

S = Inicio de sesión de SQL

U = Inicio de sesión de Windows

G = Grupo de Windows

R = Rol del servidor

C = Inicio de sesión asignado a un certificado

E = Inicio de sesión externo desde Azure Active Directory

X = grupo externo de Azure Active Directory grupo o aplicaciones

K = Inicio de sesión asignado a una clave asimétrica
type_desc nvarchar(60) Descripción de los tipos de entidad de seguridad:

SQL_LOGIN

WINDOWS_LOGIN

WINDOWS_GROUP

SERVER_ROLE

CERTIFICATE_MAPPED_LOGIN

EXTERNAL_LOGIN

EXTERNAL_GROUP

ASYMMETRIC_KEY_MAPPED_LOGIN
is_disabled int 1 = Inicio de sesión deshabilitado
create_date datetime Hora en que se creó la entidad de seguridad.
modify_date datetime Hora en que se modificó por última vez la definición de la entidad de seguridad.
default_database_name sysname Base de datos predeterminada para esta entidad de seguridad.
default_language_name sysname Lenguaje predeterminado para esta entidad de seguridad.
credential_id int Id. de una credencial asociada a esta entidad de seguridad. Si no se asocia ninguna credencial a esta entidad de seguridad, el valor de credential_id será NULL.
owning_principal_id int Principal_id del propietario de un rol de servidor. Es NULL si la entidad de seguridad no es un rol fijo de servidor.
is_fixed_role bit Devuelve 1 si la entidad de seguridad es una de las funciones de servidor integradas con permisos fijos. Para obtener más información, vea Roles de nivel de servidor.

Permisos

Cualquier inicio de sesión puede ver su propio nombre de inicio de sesión, los inicios de sesión del sistema y los roles fijos de servidor. Para ver otros inicios de sesión, se requiere ALTER ANY LOGIN o un permiso en el inicio de sesión. Para ver los roles de servidor definidos por el usuario, se requiere ALTER ANY SERVER ROLE o la pertenencia al rol.

La visibilidad de los metadatos en las vistas de catálogo se limita a los elementos protegibles y que son propiedad de un usuario o sobre los que el usuario tiene algún permiso. Para obtener más información, consulte Metadata Visibility Configuration.

Ejemplos

La consulta siguiente enumera los permisos que se otorgan o deniegan específicamente a las entidades de seguridad de servidor.

Importante

Los permisos de los roles fijos de servidor (que no son públicos) no aparecen en sys.server_permissions. Por tanto, es posible que las entidades de seguridad de servidor tengan permisos adicionales que no aparezcan aquí.

SELECT pr.principal_id, pr.name, pr.type_desc,   
    pe.state_desc, pe.permission_name   
FROM sys.server_principals AS pr   
JOIN sys.server_permissions AS pe   
    ON pe.grantee_principal_id = pr.principal_id;  

Consulte también

Vistas de catálogo de seguridad (Transact-SQL)
Vistas de catálogo (Transact-SQL)
Entidades de seguridad (motor de base de datos)
Jerarquía de permisos (motor de base de datos)