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

ให้ / เพิกถอนการอนุญาตใน SQL Server

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

กระจายอำนาจบนโต๊ะ

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

ไวยากรณ์

  GRANT quyen ON doi_tuong TO nguoi_dung; 

Quyen

การอนุญาตที่ระบุสำหรับผู้ใช้ อาจจะ:

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

Subjects

ชื่อของวัตถุฐานข้อมูลที่คุณต้องการเพิ่มขีดความสามารถ กรณีการเสริมอำนาจบนโต๊ะเป็นชื่อโต๊ะ

nguoi_dung

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

ตัวอย่างเช่น

ถ้าคุณต้องการให้สิทธิ์ SELECT, INSERT, UPDATE และ DELETE บนตารางสำหรับผู้ใช้เป็น smithj ให้เรียกใช้คำสั่ง GRANT ด้านล่าง

  G RANT 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 บนตาราง INSERT ความสามารถในการดำเนินการคำสั่ง INSERT บนตาราง UPDATE ความสามารถในการดำเนินการคำสั่ง UPDATE บนตาราง DELETE ความสามารถในการดำเนินการคำสั่ง DELETE บนตาราง ข้อมูลอ้างอิง ความสามารถในการสร้างข้อจำกัดที่อ้างถึงตาราง ALTER ความสามารถในการดำเนินการคำสั่ง ALTER TABLE บน ตารางเพื่อเปลี่ยนคำจำกัดความของตาราง ALL ALL ไม่ได้ให้สิทธิ์ทั้งหมดบนโต๊ะแต่ให้สิทธิ์ภายใต้มาตรฐาน ANSI-92 รวมถึง SELECT, INSERT, UPDATE, DELETE และ REFERENCES

Subjects

ชื่อของวัตถุฐานข้อมูลที่คุณต้องการเพิกถอนการอนุญาต กรณีการเสริมอำนาจบนโต๊ะเป็นชื่อโต๊ะ

nguoi_dung

ชื่อผู้ใช้จะถูกเพิกถอน

ตัวอย่างเช่น

ถ้าคุณต้องการเพิกถอนการอนุญาต DELETE ในบัญชีผู้ใช้ของผู้ใช้ anderson ให้เรียกใช้คำสั่ง REVOKE ด้านล่าง

  REVOKE DELETE ON the user FROM anderson; 

หากคุณต้องการเพิกถอนสิทธิ์ภายใต้ ANSI-92 ในตารางผู้ใช้สำหรับผู้ใช้และ userj ให้ใช้คีย์เวิร์ด ALL เรียกใช้คำสั่ง GRANT ด้านล่าง

  REVOKE ALL ON the user FROM anderson; 

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

  REVOKE SELECT ON the user FROM PUBLIC;