SQL触发器用于db上的任何表修改

时间:2014-05-05 12:01:41

标签: sql sql-server sql-server-2008 tsql

我对触发器不熟悉。我想知道如何编写触发器,用于将日志记录插入名为LogReportTable的表,用于在数据库内的任何表中进行任何更新,插入或删除。 (此要求的目的是保护数据库免受未经授权的修改) 请帮忙。谢谢。 :)

1 个答案:

答案 0 :(得分:2)

您需要为此目的创建After插入触发器,但是您无法在数据库级别创建此触发器。

由于此触发器将响应DML操作(插入),因此它将是DML After Insert Trigger,您需要为要为其记录信息的每个表创建触发器。 它是DDL触发器,具有DATABASE Scope而不是DML触发器。

你应该尽可能避免使用触发器,因为它们是一种无声杀手:S

如果数据库审核是唯一目的,我认为您最好不要研究Change Data Capture

Change Tracking(Dean先生建议)如果出现任何问题,你可以起诉他:)