Eventos
31 mar, 23 - 2 abr, 23
Evento de aprendizaje de SQL, Fabric y Power BI más grande. 31 de marzo – 2 de abril. Use el código FABINSIDER para ahorrar $400.
Regístrate hoyEste explorador ya no se admite.
Actualice a Microsoft Edge para aprovechar las características y actualizaciones de seguridad más recientes, y disponer de soporte técnico.
Se aplica a: SQL Server
Azure SQL Managed Instance
Analytics Platform System (PDW)
Devuelve una fila por cada miembro de cada rol fijo de servidor y cada rol de servidor definido por el usuario.
Nombre de la columna | Tipo de datos | Descripción |
---|---|---|
role_principal_id | int | Id. de la entidad de seguridad de servidor del rol. |
member_principal_id | int | Id. de la entidad de seguridad de servidor del miembro. |
Para agregar o quitar la pertenencia a roles de servidor, use la instrucción ALTER SERVER ROLE (Transact-SQL).
Los inicios de sesión pueden ver su propia pertenencia a roles de servidor y pueden ver los principal_id de los miembros de los roles fijos de servidor. Para ver toda la pertenencia al rol de servidor, es necesario el permiso VIEW ANY DEFINITION o la pertenencia al rol fijo de servidor securityadmin .
Los inicios de sesión también pueden ver las pertenencias a roles que poseen.
En Azure SQL Database, los miembros del rol de servidor ##MS_DefinitionReader## pueden consultar todas las vistas de catálogo.
Para obtener más información, consulte Metadata Visibility Configuration.
En los ejemplos de esta sección se muestra cómo trabajar con roles de nivel de servidor en Azure SQL Database.
En el ejemplo siguiente se devuelven los nombres e identificadores de los roles y sus miembros.
SELECT roles.principal_id AS RolePrincipalID
, roles.name AS RolePrincipalName
, server_role_members.member_principal_id AS MemberPrincipalID
, members.name AS MemberPrincipalName
FROM sys.server_role_members AS server_role_members
INNER JOIN sys.server_principals AS roles
ON server_role_members.role_principal_id = roles.principal_id
INNER JOIN sys.server_principals AS members
ON server_role_members.member_principal_id = members.principal_id
;
Nota
En Azure SQL Database, los inicios de sesión de SQL no se conservan en la vista de sys.server_principals
catálogo. Por lo tanto, para recuperar la pertenencia a roles de nivel de servidor en Azure SQL Database, es necesario unir la vista sys.sql_logins
de catálogo.
La instrucción siguiente devuelve todos los miembros de cualquier rol fijo de nivel de servidor mediante las vistas de catálogo sys.server_role_members
y sys.sql_logins
. Esta instrucción se debe ejecutar en la base de datos maestra virtual.
SELECT
sql_logins.principal_id AS MemberPrincipalID
, sql_logins.name AS MemberPrincipalName
, roles.principal_id AS RolePrincipalID
, roles.name AS RolePrincipalName
FROM sys.server_role_members AS server_role_members
INNER JOIN sys.server_principals AS roles
ON server_role_members.role_principal_id = roles.principal_id
INNER JOIN sys.sql_logins AS sql_logins
ON server_role_members.member_principal_id = sql_logins.principal_id
;
GO
Vistas de catálogo (Transact-SQL)
Vistas de catálogo de seguridad (Transact-SQL)
Roles de nivel de servidor
Entidades de seguridad (motor de base de datos)
Eventos
31 mar, 23 - 2 abr, 23
Evento de aprendizaje de SQL, Fabric y Power BI más grande. 31 de marzo – 2 de abril. Use el código FABINSIDER para ahorrar $400.
Regístrate hoy