默认约束,值得吗?
我通常按照以下规则设计数据库: 除db_owner和sysadmin外,其他任何人都不能访问数据库表。 用户角色在应用程序层进行控制。我通常使用一个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使用存储过程执行: sp_MyTable_Insert(@Field1, @Field2, @Field3, ...); sp_MyTable_Delete(@Key1, @Key2, ...); sp_MyTable_Update(@Key1, @Key2, …