使用SQL语句获取SQL Server数据库登录用户权限
语法
sp_helprotect [ [ @name = ] 'object_statement' ]
[ , [ @username = ] 'security_account' ]
[ , [ @grantorname = ] 'grantor' ]
[ , [ @permissionarea = ] 'type' ]
参数
[@name =] 'object_statement'
是当前数据库中要报告其权限的对象或语句的名称。object_statement 的数据类型为 nvarchar(776),默认值为 NULL,此默认值将返回所有的对象及语句权限。如果值是一个对象(表、视图、存储过程或扩展存储过程),那么它必须是当前数据库中一个有效的对象。对象名称可以包含所有者限定符,形式为 owner.object。
如果 object_statement 是一个语句,则可以为:
CREATE DATABASE
CREATE DEFAULT
CREATE FUNCTION
CREATE PROCE<?xml:namespace prefix = st1 ns = "Tencent" />DURE
CREATE RULE
CREATE TABLE
CREATE VIEW
BACKUP DATABASE
BACKUP LOG
[@username =] 'security_account'
是返回其权限的安全帐户名称。security_account 的数据类型为 sysname,默认值为 NULL,这个默认值将返回当前数据库中所有的安全帐户。security_account 必须是当前数据库中的有效安全帐户。当指定 Microsoft® Windows NT® 用户时,请指定该 Windows NT 用户在数据库中可被识别的名称(用 sp_grantdbaccess 添加)。
[@grantorname =] 'grantor'
是已授权的安全帐户的名称。grantor 的数据类型为 sysname,默认值为 NULL,这个默认值将返回数据库中任何安全帐户所授权限的所有信息。当指定 Windows NT 用户时,请指定该 Windows NT 用户在数据库中可被识别的名称(用 sp_grantdbaccess 添加)。
[@permissionarea =] 'type'
是一个字符串,表示是显示对象权限(字符串 o)、语句权限(字符串 s)还是两者都显示 (o s)。type 的数据类型为 varchar(10),默认值为 o s。type 可以是 o 和 s 的任意组合,在 o 和 s 之间可以有也可以没有逗号或空格。
返回代码值
0(成功)或 1(失败)
结果集
列名
数据类型
描述
Owner
sysname
对象所有者的名称。
Object
sysname
对象的名称。
Grantee
sysname
被授予权限的用户的名称。
Grantor
sysname
向指定的被授权限用户进行授权的用户的名称。
ProtectType
char(10)
保护类型的名称: GRANT
REVOKE
Action
varchar(20)
权限的名称: REFERENCES
SELECT
INSERT
DELETE
UPDATE
CREATE TABLE
CREATE DATABASE
CREATE FUNCTION
CREATE RULE
CREATE VIEW
CREATE PROCEDURE
EXECUTE
BACKUP DATABASE
CREATE DEFAULT
BACKUP LOG
Column
sysname
权限的类型: All = 权限适用于对象所有的当前列。
New = 权限适用于任何以后可以在对象上进行修改(使用 ALTER 语句)的新列。
All+New = All 和 New 的组合。
注释
该过程的所有参数都是可选的。如果不带参数执行 sp_helprotect,将显示当前数据库中所有已经授予或拒绝的权限。
如果指定了一部分参数,而不是指定全部参数,请使用命名参数来标识特定的参数,或者使用 NULL 作为占位符。例如,若要报告授予方 dbo 的所有权限,请执行:
EXEC sp_helprotect NULL, NULL, dbo
或
EXEC sp_helprotect @grantorname = 'dbo'
输出报表按权限分类、所有者、对象、被授予方、授予方、保护类型分类、保护类型、动作以及列连续 ID 进行排序。
权限
执行权限默认授予 public 角色。
示例
A. 列出某个表的权限
下面的示例列出了表 titles 的权限。
EXEC sp_helprotect 'titles'
B. 列出某个用户的权限
下面的示例列出当前数据库中用户 Judy 所拥有的所有权限。
EXEC sp_helprotect NULL, 'Judy'
C. 列出由某个特定的用户授予的权限
下面的示例列出了当前数据库中由用户 Judy 授予的所有权限,使用 NULL 作为缺少的参数的占位符。
EXEC sp_helprotect NULL, NULL, 'Judy'
D. 仅列出语句权限
下面的示例列出当前数据库中所有的语句权限,使用 NULL 作为缺少的参数的占位符。
EXEC sp_helprotect NULL, NULL, NULL, 's'
转载于:https://blog.51cto.com/wcxsky/51883
使用SQL语句获取SQL Server数据库登录用户权限相关推荐
- SQL语句获取数据库名、所有表名、所有字段名及字段类型
SQL语句获取所有用户名,数据库名.所有表名.所有字段名及字段类型,方法来自于网上,稍加修改 1.获取所有用户名: SELECT name FROM Sysusers where status='2' ...
- db2查询表结构语句_常用的sql语句集合(适合数据库初级人员)
一.基础 1.创建数据库 CREATE DATABASE database-name 2.删除数据库 drop database dbname 3.备份sql server --- 创建备份数据的 d ...
- sql语句跨服务器跨数据库执行
加为好友 发送私信 在线聊天 wuyi8808 空军 等级: 可用分等级:富农 总技术分:47189 总技术分排名:187 发表于:2009-04-15 21:38:422楼 得分:0 sql语句跨服 ...
- 使用SQL语句备份并压缩数据库
经常接触SQL Server数据库的朋友,备份数据库可能是日常最常见的操作.有些朋友习惯于在SQL Server管理器中手工备份.也有些朋友设置了自动备份.其实还有一种更方便的方法,可以直接通过SQL ...
- UI一揽子计划 19 (数据库管理系统、SQL语句、iOS 的数据库实现技术)
一.数据库管理系统 1. 以一定的方式存储在一起; 2. 能为多个用户共享 3. 具有尽可能小的冗余度 4. 与程序彼此独立的数据集合 二.SQL语句 SQlite常用语句 注:SQlite语句 不区 ...
- SQL语句判断指定的数据库、表、字段、存储过程是否存在
SQL语句判断指定的数据库.表.字段.存储过程是否存在 直接上代码,对大家有用就好! 代码 --判断[TestDB]是否存在 if exists(select 1 from master..sysda ...
- Python将JSON格式数据转换为SQL语句以便导入MySQL数据库
前文中我们把网络爬虫爬取的数据保存为JSON格式,但为了能够更方便地处理数据.我们希望把这些数据导入到MySQL数据库中.phpMyadmin能够把MySQL数据库中的数据导出为JSON格式文件,但却 ...
- MySQL sql语句获取当前日期|时间|时间戳
文章转载于:博客园--水狼一族 文章地址:<MySQL sql语句获取当前日期|时间|时间戳> 一.基础时间函数 1.1 获得当前日期+时间(date + time)函数:now() My ...
- oracle sql语句备份数据库,用SQL语句备份SQL数据库_oracle
备份数据库的命令是: BACKUP DATABASE test TO disk = 'c:/test' WITH FORMAT, NAME = 'Full Backup of MyNwind' 解释如 ...
最新文章
- 离职成为自由开发者的第 100 天
- 《JAVA与模式》之访问者模式
- 字符串反序,逆序输出字符串
- 【IOS 开发】Object - C 面向对象 - 类 , 对象 , 成员变量 , 成员方法
- 如何将JAR添加到Jetbrains MPS项目
- 理解允许定位,音频,网络电话..
- PS笔刷:80个自定义绘画画笔工具笔刷套装
- 为树莓派添加一个强实时性前端[原创cnblogs.com/helesheng]
- Pr混剪视频制作教程[纯萌新]
- ffmpeg录制视频时添加时间水印
- Cisco三层交换机配置命令及解释
- 你应该知道的10件关于Java 6的事情
- 宇宙可能是一台计算机,科学说明一切:宇宙是一个计算机模拟?
- 使用john 1.9 破解centos7密码
- nodejs爬虫,POST请求发送Request Playload格式数据
- py-06-JAVAAPI2
- 网易(杭州研究所)初面
- 【电气专业知识问答】问:大型发电厂的电气主接线有何特点?
- DPDK性能影响因素分析
- 小tips !!! 构造,析构,拷贝构造知识点总结