ข้อ จำกัด ค่าเริ่มต้นคุ้มค่าหรือไม่
ฉันมักจะออกแบบฐานข้อมูลตามกฎต่อไปนี้: ไม่มีใครอื่นนอกจาก db_owner และดูแลระบบสามารถเข้าถึงตารางฐานข้อมูล บทบาทของผู้ใช้จะถูกควบคุมที่ชั้นแอปพลิเคชัน ฉันมักจะใช้บทบาท db หนึ่งรายการเพื่อให้สิทธิ์เข้าถึงมุมมองโพรซีเดอร์และฟังก์ชันที่เก็บไว้ แต่ในบางกรณีฉันเพิ่มกฎที่สองเพื่อปกป้องโพรซีเดอร์ที่เก็บไว้บางส่วน ฉันใช้ TRIGGERS เพื่อตรวจสอบข้อมูลที่สำคัญในขั้นต้น CREATE TRIGGER <TriggerName> ON <MyTable> [BEFORE | AFTER] INSERT AS IF EXISTS (SELECT 1 FROM inserted WHERE Field1 <> <some_initial_value> OR Field2 <> <other_initial_value>) BEGIN UPDATE MyTable SET Field1 = <some_initial_value>, Field2 = <other_initial_value> ... END DML ดำเนินการโดยใช้กระบวนงานที่เก็บไว้: …