web*_*orm 16 security sql-server sql-server-2012
我一直在尝试解决无法查看 SQL Server 2012 数据库中某些表的登录问题。在这样做时,我发现我不太了解db_owner
角色中的成员资格允许的内容。我可以理解其他角色,db_datareader and db_datawriter
但我对db_owner
允许的内容仍然感到困惑。
Tho*_*ger 16
请参阅有关数据库级角色的 BOL的参考:
数据库所有者
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();
Run Code Online (Sandbox Code Playgroud)
现在列出所有有效的数据库权限:
select *
from sys.fn_my_permissions(null, 'database');
Run Code Online (Sandbox Code Playgroud)
这应该足以满足您的目的。需要注意的是,sys.fn_my_permissions()
返回有效权限,因此将其视为聚合。
归档时间: |
|
查看次数: |
38772 次 |
最近记录: |