-- 查询用户的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
-- Who has access to my SQL
Server instance?
SELECT
name
as UserName,
type_desc as UserType,
is_disabled as IsDisabled
FROM sys.server_principals
where
type_desc in('WINDOWS_LOGIN', 'SQL_LOGIN')
order by UserType, name, IsDisabled
-- Who has access to my
Databases?
SELECT
dp.name as UserName, dp.type_desc as
UserType, sp.name
as LoginName,
sp.type_desc as
LoginType
FROM sys.database_principals dp
JOIN sys.server_principals sp ON
dp.principal_id =
sp.principal_id
order by UserType
select * from sys.database_principals
-- Server Roles
select
p.name as UserName, p.type_desc as UserType, pp.name as
ServerRoleName, pp.type_desc
as ServerRoleType
from sys.server_role_members roles
join sys.server_principals p on
roles.member_principal_id = p.principal_id
join sys.server_principals pp on
roles.role_principal_id = pp.principal_id
where pp.name in('sysadmin')
order by ServerRoleName,
UserName
-- Database Roles
SELECT
p.name as UserName, p.type_desc as UserType, pp.name as DBRoleName, pp.type_desc as DBRoleType, pp.is_fixed_role as
IfFixedRole
FROM sys.database_role_members roles
JOIN sys.database_principals p ON
roles.member_principal_id = p.principal_id
JOIN sys.database_principals pp ON
roles.role_principal_id = pp.principal_id
where pp.name in('db_owner', 'db_datawriter')
-- What can these users do?
SELECT
grantor.name as GrantorName, dp.state_desc as
StateDesc, dp.class_desc
as ClassDesc,
dp.permission_name as
PermissionName ,
OBJECT_NAME(major_id)
as ObjectName,
GranteeName = grantee.name
FROM sys.database_permissions dp
JOIN sys.database_principals grantee on
dp.grantee_principal_id = grantee.principal_id
JOIN sys.database_principals grantor on
dp.grantor_principal_id = grantor.principal_id
where
permission_name like '%UPDATE%'
编辑推荐:
- SQL Server中查询用户的对象权限和角色的方法03-02
- USB连接线反接造成的后果03-02
- Excel让新插入的列自动继承表样式03-02
- Excel兼容性检查器的设置方法03-02
- SQLServer-触发器(Trigger)之After触发器03-02
- Excel神奇的汇总功能,alt+=,秒杀汇总03-02
- 给大家介绍一下电脑快捷键大全03-02
- Excel批量去空格的方法03-02
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 怎么在vmware虚拟机里安装win10
怎么在vmware虚拟机里安装win10
26-03-02 - SQLServer-触发器(Trigger)之After触发器
SQLServer-触发器(Trigger)之After触发器
26-03-02 - VMWare虚拟机网络映射功能映射主机文件夹教程
VMWare虚拟机网络映射功能映射主机文件夹教程
26-03-02 - 萤石云视频添加设备观看视频回放录像录像截图保存回放视频的方法图解详细教程
萤石云视频添加设备观看视频回放录像录像截图保存回放视频的方法图解详细教程
26-03-02 - server2005
server2005
26-03-02 - SqlServer205ReportServices报表安装到发布全流程
SqlServer205ReportServices报表安装到发布全流程
26-03-02 - 电脑怎么设置u盘启动
电脑怎么设置u盘启动
26-03-02 - sqlserver2008教程
sqlserver2008教程
26-03-02 - sqlserver2005企业版
sqlserver2005企业版
26-03-02 - Excel怎么自动批量生成目录
Excel怎么自动批量生成目录
26-03-02
