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

How to store revision data in database?

我在 SQL 服务器数据库 table 中有一个 xml 类型的列。

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

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

我需要的主要功能:

如何实现该功能?

XmlDiff 可能会有用。它在两个 XML 文档之间产生差异(如 XML)。

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