So zeigen Sie die Rollen und Berechtigungen für jeden Benutzer der Datenbank in Azure-SQL-server Instanz?
Könnten Sie mich auf, wie das anzeigen der aktuellen Rollen/Berechtigungen jeder Benutzer der Datenbank in Azure SQL-Datenbank oder im Allgemeinen für einen MSSQL Server Instanz?
Habe ich diese unten-Abfrage:
SELECT r.name role_principal_name, m.name AS member_principal_name
FROM sys.database_role_members rm
JOIN sys.database_principals r
ON rm.role_principal_id = r.principal_id
JOIN sys.database_principals m
ON rm.member_principal_id = m.principal_id
WHERE r.name IN ('loginmanager', 'dbmanager');
Ich weiter brauchen, zu wissen, was sind die Berechtigungen, die diesen Rollen "loginmanager" und "dbmanager"?
Könnten Sie mir helfen?
Nicht wirklich eine vollständige Antwort, aber check-out dieses Artikels weitere Informationen über diese Rollen: msdn.microsoft.com/en-us/library/azure/ee336235.aspx
InformationsquelleAutor user3258784 | 2015-06-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Pro in der MSDN-Dokumentation für sys.database_permissions, diese Abfrage listet alle Berechtigungen, die explizit gewährt oder verweigert Prinzipalen in der Datenbank Sie verbunden sind:
Pro Verwalten von Datenbanken und Anmeldungen in der Azure SQL-Datenbank, der loginmanager und dbmanager Rollen sind die zwei server-Sicherheitsrollen verfügbar in Azure-SQL-Datenbank. Der loginmanager Rolle über die Berechtigung zum erstellen von Anmeldungen und der dbmanager Rolle über die Berechtigung zum erstellen von Datenbanken. Sie können sehen, welche Benutzer gehört diesen Rollen, indem Sie die Abfrage, die Sie haben oben gegen die master Datenbank. Sie können auch bestimmen, die Rolle, die Mitgliedschaften der Benutzer auf jede Ihrer Benutzerdatenbanken mithilfe der gleichen Abfrage (ohne das filter-Prädikat), während die mit Ihnen verbunden sind.
InformationsquelleAutor tmullaney
Anzeigen, Datenbank-Rollen, die Benutzern zugewiesen, die Sie verwenden können, sys.database_role_members
InformationsquelleAutor Thomas
Gebäude auf @tmullaney 's Antwort, Sie kann auch left join in der sys.- Objekte-Ansicht auf Einsicht, wenn Sie explizite Berechtigungen erteilt wurden, auf die Objekte. Stellen Sie sicher, dass das LEFT join:
SELECT DISTINCT pr.principal_id, pr.name AS [UserName], pr.type_desc AS [User_or_Role], pr.authentication_type_desc AS [Auth_Type], pe.state_desc,
pe.permission_name, pe.class_desc, o.[name] AS 'Object'
FROM sys.database_principals AS pr
JOIN sys.database_permissions AS pe ON pe.grantee_principal_id = pr.principal_id
LEFT JOIN sys.objects AS o on (o.object_id = pe.major_id)
InformationsquelleAutor brentlightsey
wenn Sie möchten, zu finden über Objekt-Namen, z.B. Namen Tabelle und eine gespeicherte Prozedur auf, die bestimmten Benutzer über die Berechtigung verfügt, verwenden Sie die folgende Abfrage:
InformationsquelleAutor Mubeen