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;