我一直试图对无法查看Server 2012数据库中某些表的登录进行故障排除。在这样做的过程中,我发现我不太明白db_owner角色的成员资格允许什么。我可以理解其他角色,比如db_datareader and db_datawriter,但是对于db_owner允许什么,我仍然很困惑。
发布于 2014-06-26 15:47:28
db_owner成员的db_owner固定数据库角色可以执行数据库上的所有配置和维护活动,也可以删除数据库。
查看所有权限的最简单方法是使用sys.fn_my_permissions()函数。首先,验证您是db_owner的成员:
select
rol.name
from sys.database_principals mem
inner join sys.database_role_members drm
on drm.member_principal_id = mem.principal_id
inner join sys.database_principals rol
on drm.role_principal_id = rol.principal_id
where mem.principal_id = user_id();现在列出所有有效的数据库权限:
select *
from sys.fn_my_permissions(null, 'database');对于你的目的来说,这应该是足够细的。值得注意的是,sys.fn_my_permissions()返回有效的权限,因此将其视为一个聚合。
https://dba.stackexchange.com/questions/69135
复制相似问题