15.4 SQL Server用户撤消权限
SQL Server用户撤消权限
简介
REVOKE
语句从主体中撤销以前授予的对安全资源的权限。语法:
REVOKE permissions
ON securable
FROM principal;
- 首先,在
REVOKE
子句中指定一个或多个权限。 - 其次,在
ON
子句中指定一个安全资源。 - 第三,在
FROM
子句中指定一个主体。
示例
加入已经创建用户peter,并向用户peter授予People表上的SELECT、INSERT和DELETE权限
使用系统管理员(sa)帐户连接SQL Server,并使用REVOKE语句从用户peter中删除People表上的DELETE权限:
REVOKE DELETE
ON People
FROM peter;
然后再使用peter连接并验证一下:
DELETE FROM People;
--error:The DELETE permission was denied on the object 'People', database 'HR', schema 'dbo'.
权限被撤销,按预期的一样
但是还可以查询数据,因为SELECE权限没被撤销:
SELECT * FROM People;
成功返回数据
然后,再撤销SELECT和INSERT权限:
REVOKE SELECT, INSERT
ON People
FROM peter;
此时再查询数据:
SELECT * FROM People;
--error:The SELECT permission was denied on the object 'People', database 'HR', schema 'dbo'.
错误表示撤销已成功执行。