SQL server如何通过SQL语句获得某个用户名下绑定的数据库的名称和其拥有的角色
如图所示的属性,
https://www.cnblogs.com/jhxk/articles/1599330.html
查询当前实例:
select * from v$instance;
查询当前实例下所有用户
select * from sys.all_users;
方法一、SQL Server中查询用户的对象权限和角色的方法
-- 查询用户的object权限
exec sp_helprotect NULL, 'UserName'
-- 查询用户拥有的role
exec sp_helpuser 'UserName'
-- 查询哪些用户拥有指定的系统role
exec sp_helpsrvrolemember 'sysadmin'
-- 可查询嵌套role
WITH tree_roles as
(
SELECT role_principal_id, member_principal_id
FROM sys.database_role_members
WHERE member_principal_id = USER_ID('UserName')
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
-- 其他权限相关基本表
select * from sysusers
select * from syspermissions
方法二、
https://www.cnblogs.com/bobi-PHP-blog/p/7676764.html
看下这个连接 里面有具体的从新建用户到赋权限及收回权限的整体sql语句、希望可以帮到你的