Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> SQL Server

คำสั่ง GRANT/REVOKE สิทธิ์ใน SQL Server

คุณสามารถให้สิทธิ์ มอบหมาย หรือเพิกถอนสิทธิ์บนวัตถุมากมายในฐานข้อมูลของ SQL Server บทความนี้จะแสดงวิธีการมอบสิทธิ์และเพิกถอนสิทธิ์

มอบสิทธิ์บนตาราง

สามารถมอบสิทธิ์ให้ผู้ใช้บนตารางได้ สิทธิ์ที่มอบหมายอาจรวมถึง SELECT, INSERT, UPDATE, DELETE, REFERENCES, ALTER หรือ ALL

ไวยากรณ์

GRANT quyen ON doi_tuong TO nguoi_dung;

quyen: สิทธิ์ที่ระบุให้ผู้ใช้ อาจเป็น:

สิทธิ์คำอธิบาย
SELECTความสามารถในการรันคำสั่ง SELECT บนตาราง
INSERTความสามารถในการรันคำสั่ง INSERT บนตาราง
UPDATEความสามารถในการรันคำสั่ง UPDATE บนตาราง
DELETEความสามารถในการรันคำสั่ง DELETE บนตาราง
REFERENCESความสามารถในการสร้างเงื่อนไขอ้างอิงตาราง
ALTERความสามารถในการรันคำสั่ง ALTER TABLE บนตารางเพื่อเปลี่ยนแปลงโครงสร้าง
ALLALL ไม่ได้มอบสิทธิ์ทั้งหมดบนตาราง แต่มอบสิทธิ์ตามมาตรฐาน ANSI-92 รวม SELECT, INSERT, UPDATE, DELETE, REFERENCES

doi_tuong: ชื่อวัตถุฐานข้อมูลที่ต้องการมอบสิทธิ์ ในกรณีมอบสิทธิ์บนตาราง คือชื่อตาราง

nguoi_dung: ชื่อผู้ใช้ที่จะได้รับสิทธิ์

ตัวอย่าง

หากต้องการมอบสิทธิ์ SELECT, INSERT, UPDATE และ DELETE บนตาราง nhanvien ให้ผู้ใช้ smithj ให้รันคำสั่ง GRANT ด้านล่าง

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

คุณสามารถใช้คีย์เวิร์ด ALL เพื่อระบุว่าต้องการมอบสิทธิ์ทั้งหมดตามมาตรฐาน ANSI-92 ให้ผู้ใช้ smithj

GRANT ALL ON nhanvien TO smithj;

หากต้องการมอบสิทธิ์ SELECT บนตารางให้ผู้ใช้ทุกคน ให้มอบสิทธิ์ให้กลุ่มสิทธิ์สาธารณะ (PUBLIC)

GRANT SELECT ON nhanvien TO PUBLIC;

ดูเพิ่มเติม: วิธีมอบสิทธิ์ผู้ใช้ใน MS SQL Server

เพิกถอนสิทธิ์บนตาราง

หลังจากมอบสิทธิ์แล้ว คุณอาจต้องการเพิกถอนสิทธิ์ที่ให้ไปด้วยคำสั่ง REVOKE สามารถเพิกถอน SELECT, INSERT, UPDATE, DELETE, REFERENCES, ALTER หรือ ALL

ไวยากรณ์

REVOKE quyen ON doi_tuong FROM nguoi_dung;

quyen: สิทธิ์ที่จะเพิกถอน อาจเป็น:

สิทธิ์คำอธิบาย
SELECTความสามารถในการรันคำสั่ง SELECT บนตาราง
INSERTความสามารถในการรันคำสั่ง INSERT บนตาราง
UPDATEความสามารถในการรันคำสั่ง UPDATE บนตาราง
DELETEความสามารถในการรันคำสั่ง DELETE บนตาราง
REFERENCESความสามารถในการสร้างเงื่อนไขอ้างอิงตาราง
ALTERความสามารถในการรันคำสั่ง ALTER TABLE บนตารางเพื่อเปลี่ยนแปลงโครงสร้าง
ALLALL ไม่ได้เพิกถอนสิทธิ์ทั้งหมดบนตาราง แต่เพิกถอนสิทธิ์ตามมาตรฐาน ANSI-92 รวม SELECT, INSERT, UPDATE, DELETE, REFERENCES

doi_tuong: ชื่อวัตถุฐานข้อมูลที่ต้องการเพิกถอนสิทธิ์ ในกรณีเพิกถอนสิทธิ์บนตาราง คือชื่อตาราง

nguoi_dung: ชื่อผู้ใช้ที่จะถูกเพิกถอนสิทธิ์

ตัวอย่าง

หากต้องการเพิกถอนสิทธิ์ DELETE บนตาราง nhanvien จากผู้ใช้ anderson ให้รันคำสั่ง REVOKE ด้านล่าง

REVOKE DELETE ON nhanvien FROM anderson;

หากต้องการเพิกถอนสิทธิ์ตามมาตรฐาน ANSI-92 บนตาราง nhanvien จากผู้ใช้ anderson ใช้คีย์เวิร์ด ALL

REVOKE ALL ON nhanvien FROM anderson;

หากคุณได้มอบสิทธิ์ SELECT ให้กลุ่มผู้ใช้สาธารณะ (PUBLIC) บนตาราง nhanvien และต้องการเพิกถอนสิทธิ์นี้ ใช้คำสั่ง REVOKE ด้านล่าง

REVOKE SELECT ON nhanvien FROM PUBLIC;