Sql server 实现历史记录表

Sql server 实现历史记录表,sql-server,sql-server-2008,history,Sql Server,Sql Server 2008,History,我想在我的应用程序中实现历史记录功能,但我想跳过 为每个业务对象数据表创建历史数据表 我正在考虑创建一个历史数据表,其中包含一个标识列和一个XML列,其中包含以下更改的数据 ID: int XML: Data Name: data table name 这种方法是由某人实现的还是您看到了这种体系结构的任何约束 既然您使用的是2008,那么您可以尝试使用。我已经使用了本文的一个修改版本—多年了 它使用旧的信息\u模式视图,因为它依赖于列位置,这在任何较新的DMV(例如系统表,系统列)中都不可用。

我想在我的应用程序中实现历史记录功能,但我想跳过 为每个业务对象数据表创建历史数据表

我正在考虑创建一个历史数据表,其中包含一个标识列和一个XML列,其中包含以下更改的数据

ID: int
XML: Data
Name: data table name

这种方法是由某人实现的还是您看到了这种体系结构的任何约束

既然您使用的是2008,那么您可以尝试使用。

我已经使用了本文的一个修改版本—多年了

它使用旧的
信息\u模式
视图,因为它依赖于列位置,这在任何较新的DMV(例如
系统表
系统列
)中都不可用。除此之外,它像一个魔咒一样飞行和工作


如果性能成为问题——这是罕见的——您可以考虑使用Service Bug实现写入历史表的异步触发器。

这是不适合历史表的,因为数据在默认情况下每三天清除一次。它可以被配置,但大多数人不这样做;I don’我不知道这就是为什么我提出了它一般来说,变更数据捕获也不会捕获历史记录或审计表中所需的所有内容,特别是如果您想存储做出变更的人的话。我们只使用它来检查正在导入的记录是否已被应用程序更改。它不是;我们发现,在任何其他方面都不够灵活。