Sql 用于保存历史记录的列历史记录

Sql 用于保存历史记录的列历史记录,sql,sql-server,Sql,Sql Server,我想有一个表来保存有关任务的信息。PriorityId、StateId、AssignedTouseId等。这些列可以更新。我希望能够列出任务的历史记录,显示更改以及进行更改的用户。该表将有一个UpdateUserId表,其中包含执行更新的用户 我是否应该创建一个相同的“myTable_History”表,并使用触发器将整个更新(或插入)行发送到History表?还是有更好的方法 不确定这是否有区别,但我正在使用软删除。。。以及一个标识列作为主表的主ket 现在肯定是一个显示更改的好方法,但这是另

我想有一个表来保存有关任务的信息。PriorityId、StateId、AssignedTouseId等。这些列可以更新。我希望能够列出任务的历史记录,显示更改以及进行更改的用户。该表将有一个UpdateUserId表,其中包含执行更新的用户

我是否应该创建一个相同的“myTable_History”表,并使用触发器将整个更新(或插入)行发送到History表?还是有更好的方法

不确定这是否有区别,但我正在使用软删除。。。以及一个标识列作为主表的主ket


现在肯定是一个显示更改的好方法,但这是另一个问题。

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

使用行级和列级跟踪

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

http://msdn.microsoft.com/en-us/library/bb964713.aspx

样品