1

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

我应该制作一个相同的“myTable_History”表,然后使用触发器将整个更新(或插入)的行发送到历史表吗?还是有更好的方法来做到这一点?

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

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

4

2 回答 2

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

于 2012-08-18T08:29:27.297 回答
0

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

于 2012-08-18T06:53:05.027 回答