2011-03-15 68 views
0

我已经创建了这个ASP.Net应用程序,并且需要记录用户为数据库上的每个项目所做的工作。ASP.Net&SQL事件日志

我正在使用SQL Express数据库进行测试,但在部署时将其迁移到SQL Server 2008。

我决定添加到每个动作一定的查询添加到tblLog我想要的数据,然后我可以看到所发生的事,例如:

Date  Description 
3/15/2011 Risk changed from 20 to 50 by xxxx 
3/14/2011 Complexity changed from 50 to 40 by xxxx 
3/14/2011 Project A removed as Dependency by xxxx 
3/13/2011 Project B added as Prerequisite by yyyy 
3/12/2011 Project C removed as Prerequiste by yyyy 

现在这个作品没问题,除非我必须对每个查询进行非常困难的代码来执行任何可能的操作......我确信这不是最佳解决方案。

所以我的问题:是否有一种方法可以让我从数据库中提取那种事件日志?在所有的SQL数据库被修改之后,也许我可以直接从那里获取发生的事情。或者是否有更好的解决方案来创建事件日志?

谢谢

回答

0

请注意,此表的大小不会爆炸在你身上。

如果将“description”分成多列,会更容易吗?也许:

Date 
ChangedTable 
Action (add, remove, update) 
InitialValue 
NewValue 
UserID 
+0

谢谢,实际上我的事件日志只是最终结果。表格以类似的方式设置。这更多的是如何以最好的方式填充表格。 – LanFeusT 2011-03-16 04:52:53