返回一个报表,报表中包含当前数据库中某对象的用户权限或语句权限的信息。

语法

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数据库登录用户权限相关推荐

  1. SQL语句获取数据库名、所有表名、所有字段名及字段类型

    SQL语句获取所有用户名,数据库名.所有表名.所有字段名及字段类型,方法来自于网上,稍加修改 1.获取所有用户名: SELECT name FROM Sysusers where status='2' ...

  2. db2查询表结构语句_常用的sql语句集合(适合数据库初级人员)

    一.基础 1.创建数据库 CREATE DATABASE database-name 2.删除数据库 drop database dbname 3.备份sql server --- 创建备份数据的 d ...

  3. sql语句跨服务器跨数据库执行

    加为好友 发送私信 在线聊天 wuyi8808 空军 等级: 可用分等级:富农 总技术分:47189 总技术分排名:187 发表于:2009-04-15 21:38:422楼 得分:0 sql语句跨服 ...

  4. 使用SQL语句备份并压缩数据库

    经常接触SQL Server数据库的朋友,备份数据库可能是日常最常见的操作.有些朋友习惯于在SQL Server管理器中手工备份.也有些朋友设置了自动备份.其实还有一种更方便的方法,可以直接通过SQL ...

  5. UI一揽子计划 19 (数据库管理系统、SQL语句、iOS 的数据库实现技术)

    一.数据库管理系统 1. 以一定的方式存储在一起; 2. 能为多个用户共享 3. 具有尽可能小的冗余度 4. 与程序彼此独立的数据集合 二.SQL语句 SQlite常用语句 注:SQlite语句 不区 ...

  6. SQL语句判断指定的数据库、表、字段、存储过程是否存在

    SQL语句判断指定的数据库.表.字段.存储过程是否存在 直接上代码,对大家有用就好! 代码 --判断[TestDB]是否存在 if exists(select 1 from master..sysda ...

  7. Python将JSON格式数据转换为SQL语句以便导入MySQL数据库

    前文中我们把网络爬虫爬取的数据保存为JSON格式,但为了能够更方便地处理数据.我们希望把这些数据导入到MySQL数据库中.phpMyadmin能够把MySQL数据库中的数据导出为JSON格式文件,但却 ...

  8. MySQL sql语句获取当前日期|时间|时间戳

    文章转载于:博客园--水狼一族 文章地址:<MySQL sql语句获取当前日期|时间|时间戳> 一.基础时间函数 1.1 获得当前日期+时间(date + time)函数:now() My ...

  9. oracle sql语句备份数据库,用SQL语句备份SQL数据库_oracle

    备份数据库的命令是: BACKUP DATABASE test TO disk = 'c:/test' WITH FORMAT, NAME = 'Full Backup of MyNwind' 解释如 ...

最新文章

  1. 离职成为自由开发者的第 100 天
  2. 《JAVA与模式》之访问者模式
  3. 字符串反序,逆序输出字符串
  4. 【IOS 开发】Object - C 面向对象 - 类 , 对象 , 成员变量 , 成员方法
  5. 如何将JAR添加到Jetbrains MPS项目
  6. 理解允许定位,音频,网络电话..
  7. PS笔刷:80个自定义绘画画笔工具笔刷套装
  8. 为树莓派添加一个强实时性前端[原创cnblogs.com/helesheng]
  9. Pr混剪视频制作教程[纯萌新]
  10. ffmpeg录制视频时添加时间水印
  11. Cisco三层交换机配置命令及解释
  12. 你应该知道的10件关于Java 6的事情
  13. 宇宙可能是一台计算机,科学说明一切:宇宙是一个计算机模拟?
  14. 使用john 1.9 破解centos7密码
  15. nodejs爬虫,POST请求发送Request Playload格式数据
  16. py-06-JAVAAPI2
  17. 网易(杭州研究所)初面
  18. 【电气专业知识问答】问:大型发电厂的电气主接线有何特点?
  19. DPDK性能影响因素分析
  20. 小tips !!! 构造,析构,拷贝构造知识点总结

热门文章

  1. HDU 4864 Task(贪心或高斯消元)
  2. Internet概念与TCP/ IP分层模型
  3. linux运维常用命令
  4. 一句命令行检查cpu个数
  5. openfire 插件开发例子
  6. 华为网络设备上的常用安全技术(一)
  7. win10查看pcie设备_壹拓网科技解密WIN10系统使用向日葵开机棒远程开机需要设置几个地方...
  8. spring boot拦截器中获取request post请求中的参数(转)
  9. Spring boot整合Mongodb
  10. MySQL的常见存储引擎介绍与参数设置调优(转载)