在SQL Azure上查看自定义角色属性

时间:2015-04-17 19:16:39

标签: azure-sql-database user-permissions

我通过Management Studio连接到SQL Azure数据库。我创建了一个角色并为角色设置了权限:

CREATE ROLE [DepartmentReadOnly] AUTHORIZATION [dbo]
GO

GRANT SELECT ON Table1 TO DepartmentReadOnly
GRANT SELECT ON Table2 TO DepartmentReadOnly

现在,我无法通过右键单击并编写角色脚本或转到属性来查看我已授予或未授予该角色的权限。我的问题是如何查看我授予该角色的所有权限(可能超过上述权限)?

1 个答案:

答案 0 :(得分:0)

这有助于获取所有主体和权限,如果需要,可以按角色名称进行过滤

   SELECT DB_NAME() as databaseName,
   p.[name] as 'Principal_Name',
   p.[type_desc] as 'Principal_Type',
   principals2.[name] as 'Grantor',
   dbpermissions.[permission_name],
   dbpermissions.[state_desc],
   so.[Name] as 'ObjectName',
   so.[type_desc] as 'ObjectType'
   FROM [sys].[database_permissions] dbpermissions LEFT JOIN 
   [sys].[objects] so ON dbpermissions.[major_id] = so.[object_id] 
   LEFT JOIN    [sys].[database_principals] p    
   ON dbpermissions.  [grantee_principal_id] = p.[principal_id]
   LEFT JOIN [sys].[database_principals] principals2   
   ON dbpermissions.[grantor_principal_id] = principals2.[principal_id]