看我下面的例子
如果你是本地库的话可以用系统验证方式登录
sqlplus
/
as
sysdba
然后再给SYS赋权。
SQL>
conn
sys/sys
as
sysdba
Connected.
SQL>
create
user
test
identified
by
test;
User
created.
SQL>
grant
all
privileges
to
test;
Grant
succeeded.
SQL>
select
*
from
v$pwfile_users;
USERNAME
SYSDB
SYSOP
------------------------------
-----
-----
SYS
TRUE
TRUE
SQL>
conn
test/test
Connected.
SQL>
revoke
all
privileges
from
sys;
revoke
all
privileges
from
sys
*
ERROR
at
line
1:
ORA-01952:
system
privileges
not
granted
to
'SYS'
SQL>
conn
sys/sys
as
sysdba
Connected.
SQL>
grant
dba
to
test;
Grant
succeeded.
SQL>
conn
test/test
Connected.
SQL>
revoke
all
privileges
from
sys;
revoke
all
privileges
from
sys
*
ERROR
at
line
1:
ORA-01952:
system
privileges
not
granted
to
'SYS'
SQL>
conn
sys/sys
as
sysdba
Connected.
SQL>
select
*
from
v$pwfile_users;
USERNAME
SYSDB
SYSOP
------------------------------
-----
-----
SYS
TRUE
TRUE
SQL>
grant
sysdba
to
test;
Grant
succeeded.
SQL>
select
*
from
v$pwfile_users;
USERNAME
SYSDB
SYSOP
------------------------------
-----
-----
SYS
TRUE
TRUE
TEST
TRUE
FALSE
SQL>
conn
test/test
Connected.
SQL>
revoke
all
privileges
from
sys;
revoke
all
privileges
from
sys
*
ERROR
at
line
1:
ORA-01952:
system
privileges
not
granted
to
'SYS'
SQL>
conn
test/test
as
sysdba
Connected.
SQL>
revoke
all
privileges
from
sys;
revoke
all
privileges
from
sys
*
ERROR
at
line
1:
ORA-01952:
system
privileges
not
granted
to
'SYS'
SQL>
revoke
sysdba
from
sys;
revoke
sysdba
from
sys
*
ERROR
at
line
1:
ORA-01998:
REVOKE
failed:
user
SYS
always
has
SYSOPER
and
SYSDBA
⑵ 如何理解SQL Server中权限是如何级联回收的
系统权限不会被级联回收。
对象权限会被级联回收。
例如:
收回用户li对表employee的查询权限,同时级联收回li授予其他用户的该权限。
SQL语句为:
WITH CHECK OPTION select ON TABLE employee FROM li CASCADE
⑶ MS SQL SERVER2005 回收某用户的public权限
你回收的是user1的权限,有没有回收public角色的权限,public仍然有权限.而user1默认总是属于public角色的,因此肯定还是有权限.
在public有权限的情况下,你要想让user1没有权限,只能明确拒绝user1
deny select on a to user1
⑷ 创建sql语句收回account1用户的权限
具体看要收回什么样的权限,才可以判断采用什么样的语句。
一般收回用户权限用revoke语句。
revoke语法结构:
revoke权限onfrom用户[cascadeconstraints]--cascadeconstraints表示取消用户用此权限创建的所有
系统权限:
revoke权限from用户
⑸ 在SQL语言中,用于事务提交的语句是什么,收回权限的命令是什么
提交事务:commit transaction;回滚事务:rollback transaction
⑹ 数据库系统中,自主存取控制功能一般是通过sql的什么语句来进行权限回收
final AbstractChannelHandlerContext head;
final AbstractChannelHandlerContext tail;
一个头(head),一个尾(tail),继承自AbstractChannelHandlerContext,在DefaultChannelPipeline中,分别由两个内部类创建:
⑺ SQL server中的revoke cascade(用户权限回收问题)
如果不加,会出现像下面这种样子的错误。
消息 4611,级别 16,状态 1,第 1 行
若要撤消或拒绝可授予的特权,请指定 CASCADE 选项。
原因:
因为 U5可以转让insert权限
也就是以前执行的是:
GRANT insert on sc TO u5 With Grant Option
那么这个 u5 用户登录以后。
可以
GRANT insert on sc TO 其它的用户。
revoke insert
on sc
from u5 cascade
目的是把 给 u5 的权限回收回来, 同时把 u5 授权给其他用户的权限,也回收。
下面以一个例子来演示:
我的数据库上面,有 A 与 B , 两个用户。
我首先用管理员帐户,执行
GRANT SELECT ON Goods TO A With Grant Option
然后我用 A 用户登录。
执行了
1> GRANT SELECT ON Goods TO B With Grant Option
2> go
也就是 A 又给B 授权,允许B访问 Goods表,且还能授权给别人。
现在回到管理员帐户上
执行
REVOKE SELECT ON Goods FROM A CASCADE
从而把 A 的权限收回, 同时也把 A 给 B赋 的权限也收回。
那么现在 A 和 B 都没有权限访问 Goods 表了。
假如没有 cascade 连带删除的话,那么管理员把 A 的权限收回了。 但是 B还有权限。B还可以再把权限给 A,还可以给 C,D,E,F,G。
没有 cascade 的话,管理员要累死的。
⑻ sql server为什么我对某个账号收回了update权限,还是能执行update
当然会,select要获得共享锁,update要获得排他锁,排他锁与其他锁都冲突
可以用select
*
from
tb(nolock)
指定查询不占用锁资源,就不会冲突了
⑼ SQL中使用哪些语句实现权限的授予和回收
1、把查询STUDENT表的权限授给用户UI:
GRANT SELECT
ON TABLE student
TO UI;
GRANT SELECT
ON TABLE student
TO PUBLIC
WITH GRANT OPTION;
2、收回权限:
REVOKE SELECT
ON TABLE SC
FROM PUBLIC;
数据库角色是被命名的一组与数据库操作相关的权限,角色是权限的集合。
CREATE ROLE jue;
GRANT SELECT,UPDATE,INSERT
ON TABLE Student
TO RI;
GRANT RI TO 王平;
REVOKE RI FROM 王平;
(9)sql权限收回扩展阅读:
SQL Server用户权限包含了对象权限和语句权限这两种类型。
用户在登录到SQL Server 之后,其安全账号(用户账号)所归属的NT 组或角色所被授予的权限决定了该用户能够对哪些数据库对象执行哪种操作以及能够访问、修改哪些数据。在SQL Server 中包括两种类型的权限,即对象权限和语句权限。
⑽ 写出授予mylogin用户查询、删除权限和收回该权限的SQL语句
咨询记录 · 回答于2021-01-14