用户权利报告

时间:2012-02-01 19:48:53

标签: sql-server-2008

我希望能够看到每个数据库用户的报告,并查看他对每个数据库对象的具体访问权限。我是一名安全菜鸟,问题的一部分甚至无法查看用户在生产中创建的内容。

据我了解,可以在db obejct级别设置权限,这些权限可能会被访问​​角色的成员资格覆盖,或被成员资格转移到拒绝角色。

有没有人知道会生成所有表,SP,视图等的报告的实用程序,以及每个用户都可以访问的列表,以便我可以轻松确定,例如“谁有权访问表A ?”或者,不那么宏大,是否有一个方便的查询可以回答目标对象名称的问题,前提是该实用程序是由具有管理员权限的人运行的?

1 个答案:

答案 0 :(得分:0)

此查询列出了数据库中的用户权限:

SELECT 
    (SELECT name FROM sysusers WHERE uid=tblPermissions.grantee_principal_id) as UserName,
    permission_name,
    state_desc,
    (SELECT name FROM sysobjects WHERE id=tblPermissions.major_id)
FROM sys.database_permissions AS tblPermissions WHERE major_id >=0