A. 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 王平;
(1)sql對所有表授予許可權擴展閱讀:
SQL Server用戶許可權包含了對象許可權和語句許可權這兩種類型。
用戶在登錄到SQL Server 之後,其安全賬號(用戶賬號)所歸屬的NT 組或角色所被授予的許可權決定了該用戶能夠對哪些資料庫對象執行哪種操作以及能夠訪問、修改哪些數據。在SQL Server 中包括兩種類型的許可權,即對象許可權和語句許可權。
B. SQL如何語用語句授予一個角色只能查詢這個數據的所有表
比如:授予用戶USER1在當前資料庫中具有查詢所以表的許可權
EXEC sp_addrolemember 'db_datareader', 'USER1'
C. 請問如何用SQL語句為指定用戶授權
用SQL語句為指定用戶授權的具體步驟如下:
我們需要准備的材料分別是:電腦、sqlserver2008
1、首先打開sqlserver2008,之後點擊打開左上角的「新建查詢」。
D. 如何把一個用戶下所有表的查詢許可權賦給另一用戶
只要將用戶1下所有表的查詢許可權賦給用戶2即可。但是,用戶1下可能有很多表,如果一條一條地寫grant語句很不現實,這里介紹一種便捷的方法:通過查詢語句得到grant賦許可權腳本,執行一下就可以了。
SQL> show user
USER 為"SYS"
SQL> create user tt
2 identified by tt;
用戶已創建
SQL> grant create session to tt;
授權成功。
SQL> select 'grant select on '||owner||'.'||object_name|| ' to user1;'
2 from dba_objects
3 where object_type='TABLE' and wner='SCOTT';
'GRANTSELECTON'||OWNER||'.'||OBJECT_NAME||'TOUSER1;'
------------------------------------------------------------------------------
grant select on SCOTT.BONUS to user1;
grant select on SCOTT.CC to user1;
grant select on SCOTT.CC1 to user1;
grant select on SCOTT.DEPT to user1;
grant select on SCOTT.EMP to user1;
grant select on SCOTT.SALGRADE to user1;
grant select on SCOTT.T1 to user1;
grant select on SCOTT.T2 to user1;
grant select on SCOTT.TT to user1;
已選擇9行。
復制上面的查詢結果執行一下就可以了。如果查詢結果太多的話,可以將這樣做:
set pages 999;
set heading off;
spool run_grant.sql
select 'grant select on '||owner||'.'||object_name|| ' to user1;'
from dba_objects
where object_type='TABLE' and wner='SCOTT';
spool off;
@run_grant
這是一種很方便高效的方法,可以使工作事半功倍。
把所有表的查詢許可權賦給另一個用戶
grant select any table to QUERY;