Advertisement
Guest User

Untitled

a guest
Jul 7th, 2015
207
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.30 KB | None | 0 0
  1. WITH perms_cte as
  2. (
  3. select USER_NAME(p.grantee_principal_id) AS principal_name,
  4. dp.principal_id,
  5. dp.type_desc AS principal_type_desc,
  6. p.class_desc,
  7. OBJECT_NAME(p.major_id) AS object_name,
  8. p.permission_name,
  9. p.state_desc AS permission_state_desc
  10. from sys.database_permissions p
  11. inner JOIN sys.database_principals dp
  12. on p.grantee_principal_id = dp.principal_id
  13. )
  14. --users
  15. 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
  16. FROM perms_cte p
  17. WHERE principal_type_desc <> 'DATABASE_ROLE'
  18. UNION
  19. --role members
  20. 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
  21. FROM perms_cte p
  22. right outer JOIN (
  23. 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--,*
  24. from sys.database_role_members rm
  25. INNER JOIN sys.database_principals dp
  26. ON rm.member_principal_id = dp.principal_id
  27. ) rm
  28. ON rm.role_principal_id = p.principal_id
  29. order by 1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement