Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
van toepassing op:SQL Server
Azure SQL Managed Instance
Analytics Platform System (PDW)
Geeft één rij terug voor elk lid van elke vaste en door de gebruiker gedefinieerde serverrol.
| Kolomnaam | Gegevenstype | Description |
|---|---|---|
| role_principal_id | int | Server-Principal ID van de functie. |
| member_principal_id | int | Server-Principal ID van het lid. |
Om serverrollidmaatschap toe te voegen of te verwijderen, gebruik je de ALTER SERVER ROLE (Transact-SQL) -instructie.
Permissions
Logins kunnen hun eigen serverrollidmaatschap bekijken en de principal_id's van de leden van de vaste serverrollen bekijken. Om alle serverrollidmaatschap te bekijken is de VIEW ANY DEFINITION-toestemming of lidmaatschap van de securityadmin-vaste serverrol vereist.
Inlogs kunnen ook rollidmaatschappen van rollen die zij bezitten bekijken.
In Azure SQL Database kunnen leden van serverrol ##MS_DefinitionReader## alle catalogusweergaven opvragen.
Zie Zichtbaarheidsconfiguratie voor metagegevensvoor meer informatie.
Examples
In de voorbeelden in deze sectie ziet u hoe u kunt werken met serverfuncties in Azure SQL Database.
A. Retourlijst van serverrolleden
Het volgende voorbeeld geeft de namen en ID's van de rollen en hun leden terug.
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
;
Note
In Azure SQL Database worden SQL-aanmeldingen niet bewaard in de sys.server_principals catalogusweergave. Als u daarom het rollidmaatschap op serverniveau in Azure SQL Database wilt ophalen, moet de catalogusweergave sys.sql_logins worden gekoppeld.
B. Azure SQL Database: Alle principals (SQL-authenticatie) die lid zijn van een serverfunctie
De volgende instructie retourneert alle leden van een vaste serverrol met behulp van de sys.server_role_members en sys.sql_logins catalogusweergaven. Deze instructie moet worden uitgevoerd in de virtuele masterdatabase.
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
Zie ook
Catalogweergaven (Transact-SQL)
Beveiligingscatalogusweergaven (Transact-SQL)
Serverniveau-rollen
Principals (Database Engine)