加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 电商 > 正文

行使SQL语句获取SQL Server数据库登任命户权限

发布时间:2018-08-21 11:10:09 所属栏目:电商 来源:站长网
导读:sp_helprotect 返回一个报表,报表中包括当前数据库中某工具的用户权限或语句权限的信息。 语法 sp_helprotect [ [ @name = ] 'object_statement' ][ , [ @username = ] 'security_account' ][ , [ @grantorname = ] 'grantor' ][ , [ @permissionarea = ]
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 DATABASECREATE DEFAULTCREATE FUNCTIONCREATE PROCEDURECREATE RULECREATE TABLECREATE VIEWBACKUP DATABASEBACKUP 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(失败)
功效集列名数据范例描写Ownersysname工具全部者的名称。Objectsysname工具的名称。Granteesysname被授予权限的用户的名称。Grantorsysname向指定的被授权限用户举办授权的用户的名称。ProtectTypechar(10)掩护范例的名称:
GRANTREVOKE
Actionvarchar(20)权限的名称:
REFERENCESSELECTINSERTDELETEUPDATECREATE TABLECREATE DATABASECREATE FUNCTIONCREATE RULECREATE VIEWCREATE PROCEDUREEXECUTEBACKUP DATABASECREATE DEFAULTBACKUP LOG
Columnsysname权限的范例:
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'

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读