【发布时间】:2012-09-04 19:55:33
【问题描述】:
只是一个简单的问题。当任何表最近插入更新或删除时,是否有任何方法可以跟踪数据库?例如,我在我的数据库中更新了 4 个用户详细信息。将创建一个日志文件并记录用户表中已更新的 4 条记录。
有可能吗?
【问题讨论】:
标签: asp.net sql-server-2008 c#-4.0 log4net trace
只是一个简单的问题。当任何表最近插入更新或删除时,是否有任何方法可以跟踪数据库?例如,我在我的数据库中更新了 4 个用户详细信息。将创建一个日志文件并记录用户表中已更新的 4 条记录。
有可能吗?
【问题讨论】:
标签: asp.net sql-server-2008 c#-4.0 log4net trace
您可以使用 SQL Server Auditing https://sqlblog.org/2008/05/06/when-was-my-database-table-last-accessed 的强大功能,也可以创建触发器来审核您的 SQL Server 数据库 http://weblogs.asp.net/jgalloway/archive/2008/01/27/adding-simple-trigger-based-auditing-to-your-sql-server-database.aspx
【讨论】:
您的问题的答案就在您的标签上:使用诸如log4net 或elmah 之类的日志库,并在每次插入/更新/删除发生时记录...
或者在数据库端实现一些东西,每次在审计表中插入一条记录,并在你想要的表上发生插入/更新/删除。例如,您可以使用database trigger。
底线是您必须编写代码/逻辑来执行此操作。
【讨论】:
我建议在数据库层使用触发器并将更改记录到数据库中的表而不是平面文件,这样无论在哪里进行更改都会记录更改。然后在你的 UI 上写一些东西来显示你的日志表中的条目。
【讨论】: