Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1282480
  • 博文数量: 127
  • 博客积分: 2286
  • 博客等级: 大尉
  • 技术积分: 1943
  • 用 户 组: 普通用户
  • 注册时间: 2010-06-10 10:37
文章分类

全部博文(127)

文章存档

2018年(1)

2015年(2)

2014年(1)

2013年(30)

2012年(88)

2011年(5)

分类: 数据库开发技术

2012-03-28 10:12:33

功能等同于

exec sp_help user 'user_login.name' 

由于角色可能嵌套,要用到递归查询

WITH tree_roles as

(
SELECT role_principal_id, member_principal_id
FROM sys.database_role_members
WHERE member_principal_id = USER_ID('user_login.name')
UNION ALL
SELECT c.role_principal_id,c.member_principal_id
FROM sys.database_role_members as c
inner join tree_roles
on tree_roles.member_principal_id = c.role_principal_id
)
SELECT distinct USER_NAME(role_principal_id) RoleName
FROM tree_roles
阅读(3773) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~