如何在数据库中存储修订数据?

时间:2015-02-01 00:55:36

标签: c# sql-server version-control diff

我在类型为xml的SQL Server数据库表中有一列。

此列数据必须能够存储其先前的所有修订版本以及每个修订版本的一些数据。

由于它可能是只有很少更改的大量文件,因此在每次保存时重新存储整个XML字符串会很愚蠢。所以我正在寻找一种以版本控制的方式只存储差异的方法。

我需要的主要功能:

  • 保存第一个修订
  • 在每次更改时,将此版本与上一版本进行比较并仅存储差异,将当前版本存储在某处静态以获得方便版本
  • 还原

如何实现该功能?

1 个答案:

答案 0 :(得分:1)

XmlDiff可能有用。它在两个XML文档之间生成差异(作为XML)。

我还会压缩(压缩,缩小)列中的数据。您可以手动进行压缩,但SQL Server 2014也允许压缩列。