我知道这个头衔可能有点让人困惑,但这是我能想到的最好的。所以我的问题是:我有一个DB,它有很多角色,其中一些角色作为角色成员--其他角色,所以当用户被添加到角色中时,它也会自动地将用户添加到其他角色中。
对于我的db中的exameple,如果我运行SQL:
exec sp_helprolemember op_ConfigDefault --这将给我op_ConfigDefault角色的所有成员。在这些角色中,有些成员实际上是角色。我做了一些打印屏幕以便更清楚

在这里的蓝色斜角,我有成员与角色和红色广场是正常的用户。

在这里,您可以看到这些“成员”从上面确实是角色。
我现在的问题是,是否有一种方法,我可以构建一个there,以便我只能从一个角色,也是角色的成员?
发布于 2014-05-27 07:30:55
我已经找到了解决办法
SELECT DbRole = g.NAME,
MemberName = u.NAME,
MemberSID = u.sid
FROM sys.database_principals u,
sys.database_principals g,
sys.database_role_members m
WHERE g.NAME = /* add role name here*/
AND g.principal_id = m.role_principal_id
AND u.principal_id = m.member_principal_id
AND u.NAME IN (
SELECT NAME
FROM sys.database_principals
WHERE type = 'R'
)
ORDER BY 1, 2https://stackoverflow.com/questions/23883215
复制相似问题