天天看點

sql server 資料控制 權限

所有使用者 to/from public                                                 所有權限:grant/revoke all privileges

1.grant授權

把查詢Student表的權限授給使用者U1     sql server表名前不需要加table

Grant select

on table student --sql server不能加table

to u1;

把對表student表和course表的全部操作權限授予使用者U2和U3

Grant all privileges

on student,course

to U2,U3;

把對表SC的查詢權限授予所有使用者

Grant select

on SC

to public;

把查詢studnet表和修改學号的權限授予使用者U4

Grant select,update(sno)

on student

to U4;

把對表SC的insert權限授予使用者U5,并允許将此權限再授予其他使用者

Grant insert

on SC

to U5

with grant option;

U5将insert權限給U6

Grant insert

on SC

to U6

with grant option;

也加了with grant option; 則U6也可以将此權限給U7

Grant insert

on SC

to U7;

U6給U7未加with grant option;則U7不能再傳播此權限

建立資料庫和建立表的權限給使用者xsuser1

grant create database 

to xsuser1;

grant create table 

to xsuser1;

2.revoke收回權限

由資料庫管理者或其他授權者用revoke語句收回授權

把使用者U4修改學号的權限收回

revoke update(sno)

on Student

from U4;

收回所有使用者對表SC的查詢權限

revoke select

on SC

from public;

把使用者U5對表SC的insert權限收回

revoke insert

on SC

from U5 cascade;

-- 因為U5将權限傳播給了U6、U7、是以加上cascade,級聯收回U6,U7的insert權限,否則語句拒絕執行

3、建立資料庫模式的權限

create user <username> [with] [DBA|resource|connect];

新建立的資料庫使用者有三種級别的權限connect、resource和dba

create user 不指定權限 預設connect

權限對應的可執行操作

擁有權限 create user create schema create table 登入,查詢和操縱
dba 可以 可以 可以 可以
resource 不可以 不可以 可以 可以
connect 不可以 不可以 不可以 可以,但要被賦予相應權限