代码之家  ›  专栏  ›  技术社区  ›  Miguel Ventura

是否有一个视图或存储过程允许知道用户对SQL Server中的视图拥有的权限?

  •  1
  • Miguel Ventura  · 技术社区  · 14 年前

    我需要知道用户对哪些视图具有哪些权限。

    我在找类似的东西 INFORMATION_SCHEMA.TABLE_PRIVILEGES sp_table_privileges 但对于视图而不是表。有吗?

    1 回复  |  直到 14 年前
        1
  •  0
  •   Nick Kavadias    14 年前

    我猜你想要 sys.database_permission

    -- Find permissions granted to current user directly or that are inherited
    -- from groups or roles
    --
    select permission_name from sys.database_permissions
        where grantee_principal_id in
            (
                select user_id()
            union
                select dbp.principal_id from sys.login_token lt, sys.database_principals dbp
                    where lt.sid = dbp.sid
            union
                select dbrm.role_principal_id from sys.database_role_members dbrm
                    where dbrm.member_principal_id = user_id()
            )