我想在程序中注册和跟踪用户活动。你有什么建议?通过数据库还是在程序端? 在数据库方面,可以为每个表的更改创建触发器,但是如何将用户名用作数据检索记录呢? 该程序是用WpF编写的,而数据库是使用SQL 2014编写的
为更好地理解,请考虑以下情形。
我有一个名为“ product”的表和一个名为“ companies”的表。根据业务逻辑,我们希望将产品分配给公司,最终在表“ company_product”中。现在,当用户插入新产品并同时分配其公司时,将影响2个表(“删除”和“更新”也是如此):“ product”和“ company_product”,我们想知道:
插入了什么?
删除了什么?
什么更新为什么?
谁做了这些更改?
答案 0 :(得分:0)
我总是设置一个具有以下列的“ TransactionLog”表:
结合使用“用户ID”,“上下文”和“详细信息”字段,您可以捕获有关由哪个用户完成的操作的所有详细信息。保持上下文较短,类似于varchar(50),用于分组,但是如果需要,可以使Details varchar(max)。
如果需要,还可以添加其他上下文字段。诸如“动作”之类的内容可用于捕获“更新”,“删除”或“创建”。为此,我将使用“上下文”来捕获正在保存的对象的名称。