具有共享数据的多个数据库

时间:2014-07-09 17:21:12

标签: sql sql-server

我们有一个客户数据库。在此数据库中是一个表,其中包含用户已购买的产品许可证。主键是UserLicenseId。

在产品本身中,我们使用UserLicenseId来识别购买的信息。例如,如果他们在产品中保存了一个注释:UserLicenseId,Note,DateWritten。

它们是否是确保单独数据库的备份和还原使UserLicenseId字段保持同步的最佳做法?

2 个答案:

答案 0 :(得分:0)

您应该定期将许可证数据从许可证数据库复制到产品数据库。并在数据库级别创建外键。我认为 - 这是一个最好的解决方案。

但如果你不同意,这里有一些想法:

  • 您必须首先使用许可证备份数据库,以保证您在产品数据库中没有许可证中没有的许可证。

  • 您如何保持此字段同步?您是否有任何可以使它们保持同步的数据库约束?我想,你没有。因此,我们不应期望这种行为来自备份操作。可能最好创建一个过程,它将检查两个数据库之间数据的一致性,并将此过程的启动放入恢复规则中。

答案 1 :(得分:0)

如果要将两个数据库中的数据视为必须同步的数据集,并且您不希望依赖数据库备份不同步 -

我建议在整个数据库备份之外对数据进行外部备份。

您可以将这些表中的数据BCP转换为一组文件并将其检入版本控制系统,或者将它们压缩在一个文件中,该文件的名称包含截至日期。