SQL Server中的完整数据库版本控制

时间:2012-08-15 20:15:47

标签: sql-server sql-server-2008 versioning database-versioning

首先,我要指出我阅读了有关数据库版本控制的所有帖子,但这不是我正在寻找的东西,但我无法想出一个更好的标题(“完整”这个词)这是关键)。

我有一个'编译数据库',它包含公共交通路线规划器的所有类型的优化记录和统计数据,它是通过另一个数据库的程序生成的。除了用户活动监视和缓存之外,编译后的数据库在活动时永远不会更改。有些表包含多达2-300,000条记录。

一旦输入数据库发生更改,此已编译的数据库将完全续订。因此,任何新数据库版本都不会以任何方式与任何其他先前版本交互。但我想分别存储每个版本,如果用户需要,有机会从程序中使用它(想象它就像公共交通地图的历史)。

唯一合理的方法就是为每个版本制作不同的物理数据库,这既不困难也不错,但我问你是否知道任何版本化完整数据库的机制(不仅仅是其中的部分数据,比如其他帖子都在询问),目的是使整个事情更加合乎逻辑和干净。

我正在使用SQL Server 2012,但可能在服务器上它将是2008 R2。

如果您考虑将版本化数据存储在同一个数据库中(并在每个表中添加VersionID列),请忘掉它,因为在一个包含2-300,000条记录的表上,有10个版本(会在较少的时间内累积)超过3个月)将意味着超过300万条记录,其中只使用300,000条记录,所以,没办法!

1 个答案:

答案 0 :(得分:2)

我认为多数据库方法很好。您可以尝试执行存储级重复数据删除。这可能会大大减少存储使用量。只需确保将新数据库创建为备份并从旧数据库恢复,以便它们大部分都是字节相同的。