22/08/2018, 11:23

Cấp / Thu hồi quyền trong SQL Server

Bạn có thể cấp, trao, phân quyền hoặc thu hồi trên nhiều đối tượng trong cơ sở dữ liệu của SQL Server. Bài viết này sẽ hướng dẫn cách phân quyền và thu hồi quyền với bảng. Phân quyền trên bảng Có thể phân quyền cho người dùng trên bảng với quyền được trao có ...

Bạn có thể cấp, trao, phân quyền hoặc thu hồi trên nhiều đối tượng trong cơ sở dữ liệu của SQL Server. Bài viết này sẽ hướng dẫn cách phân quyền và thu hồi quyền với bảng.

Phân quyền trên bảng

Có thể phân quyền cho người dùng trên bảng với quyền được trao có thể gồm SELECT, INSERT, UPDATE, DELETE, REFERENCES, ALTER hoặc ALL.

Cú pháp

GRANT quyen ON doi_tuong TO nguoi_dung;

quyen

Quyền được chỉ định cho người dùng. Có thể là:

Quyền  Mô tả
SELECT Khả năng thực hiện lệnh SELECT trên bảng
INSERT Khả năng thực hiện lệnh INSERT trên bảng
UPDATE Khả năng thực hiện lệnh UPDATE trên bảng
DELETE Khả năng thực hiện lệnh DELETE trên bảng
REFERENCES Khả năng tạo ràng buộc tham chiếu tới bảng
ALTER Khả năng thực hiện lệnh ALTER TABLE trên bảng để thay đổi định nghĩa bảng.
ALL ALL không trao tất cả quyền trên bảng mà trao các quyền theo chuẩn ANSI-92, gồm SELECT, INSERT, UPDATE, DELETE và REFERENCES.

doi_tuong

Tên của đối tượng cơ sở dữ liệu mà bạn muốn trao quyền. Trong trường hợp trao quyền trên bảng thì đó là tên bảng.

nguoi_dung

Tên người dùng sẽ được trao quyền.

Ví dụ

Nếu muốn trao quyền SELECT, INSERT, UPDATE và DELETE trên bảng nhanvien cho người dùng là smithj, chạy lệnh GRANT dưới đây.

GRANT SELECT, INSERT, UPDATE, DELETE ON nhanvien TO smithj;

Có thể dùng từ khóa ALL để cho biết là bạn muốn trao tất cả quyền theo ANSI-92 cho người dùng smithj.

GRANT ALL ON nhanvien TO smithj;

Nếu chỉ muốn trao quyền SELECT trên bảng nhanvien cho tất cả người dùng, hãy trao cho nhóm quyền công cộng (PUBLIC).

GRANT SELECT ON nhanvien TO PUBLIC;
0