社区
MS-SQL Server
帖子详情
根据一个用户登录名字用一条SQL语句查询出来这个用户对那些数据库及表分别有哪些权限。
ivorxiao
2006-09-01 09:01:56
如题
...全文
775
4
打赏
收藏
根据一个用户登录名字用一条SQL语句查询出来这个用户对那些数据库及表分别有哪些权限。
如题
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xyxfly
2006-09-01
打赏
举报
回复
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(失败)
结果集
列名 数据类型 描述
Owner
xyxfly
2006-09-01
打赏
举报
回复
系统的存储进程 sp_helprotect, 在当前的SQL Server服务器中鉴别许可. 系统进程接受四个可选参数:
@name: 这个是数据库对象名. 这个参数的值可能可能是一个语句许可。
@username: 这个是数据库中用户的账号.这个可能是标准的SQL Server登陆或者一个Windows用户或者组登陆,它们都是数据库用户账号。
@grantorname: 这个是已经授予数据库对象许可的数据库用户账号名。
@permissionarea: 这个参数可能返回o或者s,也有可能两个一起返回。
@name参数的有效语句可能是下面的其中一个:
CREATE DATABASE
CREATE DEFAULT
CREATE FUNCTION
CREATE PROCEDURE
CREATE RULE
CREATE TABLE
CREATE VIEW
BACKUP DATABASE
BACKUP LOG
如果没有参数被使用,sp_helprotect将返回所有被授予的许可或者拒绝所有的对象和语句许可。为了从这个进程获得输出更好的可读性,你需要以各自的形式来查看结果。
下面的脚本将展示sp_helprotect如何使用并在 Northwind 数据库中运行:
USE Northwind
GO
EXEC sp_helprotect @name = 'Orders'
GO
EXEC sp_helprotect @permissionarea = 's'
GO
EXEC sp_helprotect @permissionarea = 'o'
GO
EXEC sp_helprotect @permissionarea = 's o'
GO
首个sp_helprotect语句将会返回Orders表格的许可。其他三个系统存储进程语句将返回基于 @permissionarea参数的结果。
不知道符合你要求不?
xyxfly
2006-09-01
打赏
举报
回复
sp_helprotect ?
leongwong
2006-09-01
打赏
举报
回复
关注!
史上超强最常用
SQL语句
大全
史上超强最常用
SQL语句
大全,) 1)DDL--数据定义语言 用来定义
数据库
对象:
数据库
,表,列等。关键字:create, drop,alter 等 ...用来定义
数据库
的访问
权限
和安全级别,及创建
用户
。关键字:GRANT, REVOKE 等
数据库
常用的
sql语句
大全--sql
本片博客使用mysql
数据库
进行数据操作,使用Navicat for mysql 这个IDE进行可视化操作。每个
SQL语句
都是亲身实验验证的,并且经过自己的思考的。能够保证
sql语句
的可运行性。
sql语句
的命令不区分大小写,但储存的...
ORACLE
数据库
查询
锁表语句sql脚本,以及删除锁信息脚本(
数据库
开发ETL、DBA必备)
文章目录ORACLE
数据库
查询
锁表语句sql脚本,以及删除锁信息脚本(
数据库
开发ETL、DBA必备)前言一、Oracle
查询
表锁语句1、查看
数据库
版本2、
数据库
dba
用户
:system/oracle3、
查询
锁表的信息4、
查询
出,有2条表锁的记录 ...
SQL语句
对
用户
授权操作
对方不能以sa的身份进行登录,我们就创建
一个
登录名xsMaster,密码111 create login xsMaster with password='111'; 可以让对方用上面的登录名和密码进行登录了...授予
用户
xsuser对student表的查看
权限
grant sele.
使用
SQL语句
赋予SQL Server
数据库
登录
用户
权限
GRANT在安全系统中创建项目,使当前
数据库
中的
用户
得以处理当前
数据库
中的数据或执行特定的 Transact-SQL 语句。语法语句
权限
:GRANT { ALL | statement [ ,...n ] } TO security_account [ ,...n ]对象
权限
:GRANT...
MS-SQL Server
34,576
社区成员
254,587
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章