Я использую следующий T-SQL для получения членов роли из базы данных 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
Когда я просматриваю вывод, я замечаю, что единственными членами роли, перечисленными для db_datareader
, являются роли db - в запросе не указаны члены пользователя db_datareader
.
Почему? Как я могу также перечислить пользователей из моих ролей db?
Я думаю, я должен также спросить, действительно ли таблица sys.database_role_members
содержит всех членов роли?