Lệnh GRANT
Câu lệnh này dùng để cấp phát quyền cho người sử dụng trên đối tượng Cơ sở dữ liệu hoặc quyền thực thi các câu lệnh SQL SERVER. Cú pháp có 2 dạng như sau
Dạng 1: Cấp quyền đối với câu lệnh SQL
GRANT ALL | statement [,...,statementN ]
TO account [,...,accountN]
Dạng 2: Cấp quyền đối với các đối tượng trong cơ sở dữ liệu
GRANT ALL | permission [,...,permissionN]
ON table_name |view_name [(column1 [,...,columnN])]
|ON stored_procedure
TO account [,...,accountN]
Trong đó:
- ALL: là từ khoá được sử dụng khi muốn cấp phát tất cả các quyền cho người sử dụng.
- Account: là tên tài khoản đăng nhận hệ thống
- Permission: là quyền cấp phát cho người sử dụng trên đối tượng cơ sở dữ liệu:
- Các quyền có thể cấp phát trên một bảng hoặc một View:
Select, Insert, Delete, Update. - Các quyền có thể cấp phát trên cột của bảng hoặc của View:
Select, Update - Quyền có thể cấp phát với các thủ tục:
EXCUTE(thực thi)
- Các quyền có thể cấp phát trên một bảng hoặc một View:
- Statement: Là câu lệnh được cấp phát cho người sử dụng Các câu lệnh có thể cấp phát là:
CREATE DATABASECREATE TABLECREATE VIEWCREATE PROCEDURECREATE RULECREATE DEFAULTBACKUP DATABASEBACKUP LOG
Câu lệnh sau sẽ 3 cấp quyền
SELECT, UPDATE, INSERT trên các thuộc tính (TenNV,DiaChi, Tuoi) của bảng NHANVIEN cho 2 người sử dụng phnhung, htvan.GRANT SELECT, UPDATE, INSERT
ON NHANVIEN(TenNV,DiaChi, Tuoi)
TO phnhung, htvan
Câu lệnh sau sẽ cấp quyền tạo bảng, tạo View và tạo thủ tục cho người dùng phnhung.
GRANT CREATE TABLE, CREATE VIEW, CREATE PROCEDURE
TO phnhung
Lệnh REVOKE
Lệnh REVOKE được dùng để huỷ bỏ quyền đã được cấp phát cho người sử dụng. Câu lệnh này cũng có 2 dạng tương tự như câu lệnh GRANT.
Dạng 1: Huỷ quyền thực hiện câu lệnh
REVOKE ALL | statement [,...,statementN]
FROM account [,...,accountN]
Dạng 2: Huỷ quyền thực hiện các đối tượng
REVOKE ALL | permission [,...,permissionN]}
ON table_name | view_name [(column [,...,columnN])]
| stored_procedure
FROM account [,...,accountN ]