如何使用 Asp.net 和SQL Server在应用程序中审核日志

本文关键字:应用程序 日志 Server Asp 何使用 net SQL | 更新日期: 2023-09-27 18:35:56

我在SQL Server表中创建了以下列:

Log_id
Old_value
New_value
Module [The module for the transaction]
Reference_id [unique id of the record from respective tbl to associate with transaction history]
Transaction [The type of transaction. Can include, INSERT, UPDATE or DELETE]
Transaction_status [Indicates SUCCESS or FAILURE]
Stack_trace [The detailed stack trace of the error]
Modified_on
Modified_by

每当插入、更新或删除发生时,将相关数据插入上述审计表的最佳可能和有效方法是什么?

请指教。谢谢。

如何使用 Asp.net 和SQL Server在应用程序中审核日志

最好的可能 en 高效 取决于很多事情: 数据库负载(多少更新,多大),您将如何处理数据等。

但一种方法是使用触发器:有关使用触发器添加审核跟踪的博客和MSDN 文档

触发器

可能有Modifed_by问题。 这 ASP.NET,因此很可能是与SQL的单个连接,只有ASP知道Modified_by。

如果日志的所有信息都已在 SQL 中,则触发。

如果日志需要 SQL 中尚未提供的信息,那么最佳和高效是不一样的。

通过存储过程的两个独立语句将是最有效的。

但为了数据完整性,将这两个语句包装在一个事务中,以便它们作为一个单元成功或失败。 开销很小。 再次在存储过程中。 或者在后面的代码中,您可以使用 TSQL 和事务,但存储过程将更快、更安全。

另请查看日志上的索引。 索引越少,插入越快。 日志是您可能希望优化刀片速度而不是选择速度的地方。