sys.database_role_members (Transact-SQL)
Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) SQL-Analyseendpunkt in Microsoft Fabric Warehouse in Microsoft Fabric SQL-Datenbank in Microsoft Fabric
Gibt eine Zeile für jedes Mitglied jeder Datenbankrolle zurück. Datenbankbenutzer, Anwendungsrollen und andere Datenbankrollen können Mitglieder einer Datenbankrolle sein. Verwenden Sie zum Hinzufügen von Mitgliedern zu einer Rolle die ALTER ROLE-Anweisung mit der ADD MEMBER
Option. Mit sys.database_principals verbinden, um die Namen der principal_id
Werte zurückzugeben.
Spaltenname | Datentyp | Beschreibung |
---|---|---|
role_principal_id | int | Datenbankprinzipal-ID der Rolle. |
member_principal_id | int | Datenbankprinzipal-ID des Mitglieds. |
Berechtigungen
Jeder Benutzer kann die eigenen Rollenmitgliedschaften anzeigen. Zum Anzeigen anderer Rollenmitgliedschaften ist die Mitgliedschaft in der db_securityadmin
festen Datenbankrolle oder VIEW DEFINITION
in der Datenbank erforderlich.
Die Sichtbarkeit der Metadaten in Katalogsichten ist auf sicherungsfähige Elemente eingeschränkt, bei denen der Benutzer entweder der Besitzer ist oder für die dem Benutzer eine Berechtigung erteilt wurde. Weitere Informationen finden Sie unter Metadata Visibility Configuration.
Beispiel
Die folgende Abfrage gibt die Member der Datenbankrollen zurück.
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;
Weitere Informationen
Sicherheitskatalogsichten (Transact-SQL)
Prinzipale (Datenbank-Engine)
Katalogsichten (Transact-SQL)
ALTER ROLE (Transact-SQLL)
sys.server_role_members (Transact-SQL)