ich die folgende T-SQL bin mit zu Rollenmitgliedern von meinem SQL Server 2008 R2-Datenbank zu erhalten:Wie zur Liste Rollenmitglieder in SQL Server 2008 R2
select rp.name as database_role, mp.name as database_user
from sys.database_role_members drm
join sys.database_principals rp on (drm.role_principal_id = rp.principal_id)
join sys.database_principals mp on (drm.member_principal_id = mp.principal_id)
order by rp.name
Wenn ich die Ausgabe untersuchen merke ich, dass die Nur Rollenmitglieder, die für db_datareader
aufgeführt sind, sind db-Rollen - in der Abfrage sind keine Benutzerelemente von db_datareader
aufgeführt.
Warum ist das? Wie kann ich auch die Benutzerelemente meiner db-Rollen auflisten?
Ich denke, ich sollte auch fragen, ob die Tabelle sys.database_role_members
tatsächlich alle Mitglieder einer Rolle enthält?
http://stackoverflow.com/questions/20956109/each-user-and-their-role-in-every-database-on-the-server/20956125# 20956125 – Mihai
@Mihai - der Code in diesem Link, den Sie zur Verfügung gestellt haben, tut genau das Gleiche wie der Code in meiner Frage, außer dass es für jede Datenbank auf dem Server tut und meine Frage nicht beantwortet. – endurium