保存历史的列历史记录

时间:2012-08-18 06:49:57

标签: sql sql-server

我想要一个包含任务信息的表。 PriorityId,StateId,AssignedToUserId等。可以更新这些列。我希望能够列出任务的历史记录,显示更改以及进行更改的用户。该表将包含UpdateUserId表以及进行更新的用户。

我应该创建一个相同的'myTable_History'表,只需使用触发器将整个更新(或插入)的行发送到历史表中吗?或者有更好的方法吗?

不确定它是否有所作为,但我使用的是软删除...以及标识列作为主表的主键。

现在确定一种显示变化的好方法,但这是另一个问题。

2 个答案:

答案 0 :(得分:3)

使用行级和列级跟踪

更改跟踪使应用程序能够跟踪用户所做的所有更改,这是一种内置方法

http://msdn.microsoft.com/en-us/library/ms172023(v=sql.90).aspx http://msdn.microsoft.com/en-us/library/bb964713.aspx

样品 http://blogs.msdn.com/b/davidhardin/archive/2011/02/06/sql-server-2008-column-change-tracking.aspx

答案 1 :(得分:0)

最简单的方法是使用CDC。关于如何做到这一点的大量资源。

相关问题