我正在创建一个数据库来存储用户信息,对用户所做的更改需要记录下来。
这最终会导致一种"时间线",因此日期/时间因素至关重要。
对于这个问题,我将使用以下示例:
#ID - int
memName - string
memBio - string
memStatusString - string
现在,我的想法是将其链接到这样一个表:
ID - int
#memID - int
dateNameChanged - DateTime
dateBioChanged - DateTime
dateStatusStringChanged - DateTime
这是记录信息的好方法吗?我想在另一张桌子上做这件事,以便以后可以轻松列出。
此外,我从不将日志记录放在同一个表中,因为日志日期只有在更改后才会出现。如果用户从不更改,那只会浪费空间。
总之;
有更好的方法吗?
更新:我为缺乏信息而道歉。我使用的是SQLServer2008,aspnetc#3.5-4(只做数据库结构的atm)。
此外,一个成员将有不同的表,如tblMemberInformation、tblPlanInformation、tbl MemberGameRank
每个表中的每个CHANGED数据(只是为了确认)都需要存储到一个日志文件中,并带有相应的日期。
您还没有指定正在使用的SQL Server的版本,所以我假设是最新的版本。
SQL Server 2008+已内置审核:
审核SQL Server数据库引擎实例或单个数据库涉及跟踪和记录数据库引擎上发生的事件。SQL Server审核允许您创建服务器审核,其中可以包含服务器级别事件的服务器审核规范和数据库级别事件的数据库审核规范。已审核的事件可以写入事件日志或审核文件。
SQL Audit允许您审核特定对象上的特定操作。例如,您可以只审核一个表上的UPDATE。看见http://www.ultimatewindowssecurity.com/sqlserver/auditpolicy/auditactiongroups/database-level_audit_actions.aspx.我意识到SQL Audit可能不适合这种需求,但这就是它的功能。