看我下面的例子
如果你是本地庫的話可以用系統驗證方式登錄
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