Check user/group permission

WITH

perms_cte

as

(

select USER_NAME(p.grantee_principal_id) AS principal_name,

dp

.principal_id,

dp

.type_desc AS principal_type_desc,

p

.class_desc,

OBJECT_NAME(p.major_id) AS object_name,

p

.permission_name,

p

.state_desc AS permission_state_desc

from sys.database_permissions p

inner JOIN sys.database_principals dp

on p.grantee_principal_id = dp.principal_id

)

--users

SELECT

p.principal_name, p.principal_type_desc, p.class_desc, p.[object_name], p.permission_name, p.permission_state_desc, cast(NULL as sysname) as role_name

FROM

perms_cte p

WHERE

principal_type_desc <>

'DATABASE_ROLE'

UNION

--role members

SELECT

rm.member_principal_name, rm.principal_type_desc, p.class_desc, p.object_name, p.permission_name, p.permission_state_desc,rm.role_name

FROM

perms_cte p

right

outer JOIN

(

select role_principal_id, dp.type_desc as principal_type_desc, member_principal_id,user_name(member_principal_id) as member_principal_name,user_name(role_principal_id) as role_name--,*

from sys.database_role_members rm

INNER JOIN sys.database_principals dp

ON rm.member_principal_id = dp.principal_id

)

rm

ON

rm.role_principal_id = p.principal_id

order

by 1

转载于:https://www.cnblogs.com/xulunyan/archive/2011/08/31/2160867.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值