怎么用sq_helprotect查看与角色相关联的权限

来源:百度知道 编辑:UC知道 时间:2024/05/29 02:35:55
--创建角色
create role role_1
create role role_2
把权赋给角色
grant create table to role_1
grant select,insert to role_2
--怎么查询这两个角色里拥有赋给它们的权
execute sp_helprotect ??????--老是没有试成功

用户权限是保存在master表中的,可以使用系统存储过程查询用户权限,
通常你需要有master表的权限(如:sa),例:

sp_helpuser
报告有关当前数据库中 Microsoft® SQL Server™ 用户、Microsoft Windows NT® 用户和数据库角色的信息。

语法
sp_helpuser [ [ @name_in_db = ] 'security_account' ]

参数
[@name_in_db =] 'security_account'

当前数据库中 SQL Server 用户、Windows NT 用户或数据库角色的名称。security_account 必须存在于当前的数据库中。security_account 的数据类型为 sysname,默认值为 NULL。如果没有指定 security_account,系统过程将报告当前数据库中的所有用户、Windows NT 用户以及角色的信息。当指定 Windows NT 用户时,请指定该 Windows NT 用户在数据库中可被识别的名称(用 sp_grantdbaccess 添加)。

返回代码值
0(成功)或 1(失败)

注释
使用 sp_helpsrvrole 及 sp_helpsrvrolemember 返回固定服务器角色的信息。

为数据库角色执行 sp_helpuser 等价于为该数据库角色执行 sp_helpgroup。

权限
执行权限默认授予 public 角色。

示例
A. 列出所有用户
下面的示例列出当前数据库中所有的用户。

EXEC sp_helpuser

B. 列出单个用户的信息
下面的示例列出用户 dbo 的信息。

EXEC sp_helpuser 'dbo'