我使用下面的T-SQL從我的SQL Server獲得角色的成員2008 R2數據庫:如何列出角色的成員在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_datareader
的用戶成員。
這是爲什麼?我怎樣才能列出我的數據庫角色的用戶成員?
我想我也應該問一下sys.database_role_members
表是否實際上包含了一個角色的所有成員?
http://stackoverflow.com/questions/20956109/each-user-and-their-role-in-every-database-on-the-server/20956125# 20956125 – Mihai
@Mhaihai - 您提供的鏈接中發佈的代碼與發佈在我的問題中的代碼相同,只是它針對服務器上的每個數據庫都執行此操作,並且不回答我的問題。 – endurium