Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analysplattformssystem (PDW)
SQL-analysslutpunkt i Microsoft Fabric
Lager i Microsoft Fabric
SQL-databas i Förhandsversion av Microsoft Fabric
Returnerar en rad för varje medlem i varje databasroll. Databasanvändare, programroller och andra databasroller kan vara medlemmar i en databasroll. Om du vill lägga till medlemmar i en roll använder du ALTER ROLE-instruktionen med alternativet ADD MEMBER . Anslut med sys.database_principals för att returnera namnen på principal_id värdena.
| Column name | Data type | Description |
|---|---|---|
| role_principal_id | int | Rollens huvudnamns-ID för databasen. |
| member_principal_id | int | Medlemmens huvudnamns-ID för databasen. |
Permissions
Alla användare kan visa sitt eget rollmedlemskap. För att visa andra rollmedlemskap krävs medlemskap i den db_securityadmin fasta databasrollen eller VIEW DEFINITION i databasen.
Synligheten för metadata i katalogvyer är begränsad till skyddsbara objekt som en användare antingen äger eller som användaren har beviljats viss behörighet för. För mer information, se inställningar för metadatasynlighet.
Example
Följande fråga returnerar medlemmarna i databasrollerna.
SELECT DP1.name AS DatabaseRoleName,
isnull (DP2.name, 'No members') AS DatabaseUserName
FROM sys.database_role_members AS DRM
RIGHT OUTER JOIN sys.database_principals AS DP1
ON DRM.role_principal_id = DP1.principal_id
LEFT OUTER JOIN sys.database_principals AS DP2
ON DRM.member_principal_id = DP2.principal_id
WHERE DP1.type = 'R'
ORDER BY DP1.name;
See Also
säkerhetskatalogvyer (Transact-SQL)
huvudnamn (databasmotor)
katalogvyer (Transact-SQL)
ALTER ROLE (Transact-SQLL)
sys.server_role_members (Transact-SQL)