使用SQL语句获取SQL Server数据库登录用户权限
来源:互联网 发布:shell怎么编程 编辑:程序博客网 时间:2024/05/16 07:16
sp_helprotect
返回一个报表,报表中包含当前数据库中某对象的用户权限或语句权限的信息。
语法
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 PROCEDURE
- 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(失败)
结果集
GRANT
REVOKE
REFERENCES
SELECT
INSERT
DELETE
UPDATE
CREATE TABLE
CREATE DATABASE
CREATE FUNCTION
CREATE RULE
CREATE VIEW
CREATE PROCEDURE
EXECUTE
BACKUP DATABASE
CREATE DEFAULT
BACKUP LOG
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'
- 使用SQL语句获取SQL Server数据库登录用户权限
- 使用SQL语句获取SQL Server数据库登录用户权限
- 使用SQL语句赋予SQL Server数据库登录用户权限
- 使用SQL语句取消SQL Server数据库登录用户权限
- 使用SQL语句获取登录用户权限
- 使用SQL语句取消登录用户权限
- 使用SQL语句赋予登录用户权限
- 获取数据库用户权限SQL
- SQL Server:查看数据库用户权限
- SQL Server 数据库用户权限设置
- SQL Server 数据库用户权限设置
- 使用SQL Server语句获取数据库服务器当前时间
- 用sql语句创建登录角色用户权限
- SQL Server数据库查看数据库用户权限
- 数据库、sql server语句
- sql server 数据库语句
- 使用T-SQL语句分离和附加SQL Server数据库
- SQL Server 语法 使用SQL语句创建数据库、表
- 唉,软设这张证……
- 乌鸦手机游戏工作室招聘
- 让你明明白白用QQ 资费明细 开通关闭方法
- 信仰与上帝
- 产生随机字符串的一种方法
- 使用SQL语句获取SQL Server数据库登录用户权限
- 在SQL Server中保存和输出任意类型的文件
- 清明节
- 伸个懒腰舒服舒服:办公室里的麦肯切尔健身法(ZZ)
- 指针参数传递
- extern "C"使用
- 使用SQL语句赋予SQL Server数据库登录用户权限
- 全当日记吧。
- 使用SQL语句取消SQL Server数据库登录用户权限