在不同的数据库中使用相同的表ID

时间:2016-09-21 18:48:02

标签: sql-server

假设我有两个数据库,一个用于开发,一个用于维护,例如,两个数据库都有相同的表,有人在数据库dev中添加Table1(这是一个字典表)的记录,但是他忘了将它插入Table1在维护中,所以id变得不是sincronizad,我们最终会在两个数据库中使用相同的名称但不同的ID。

使用外部序列保持这两个表同步的最佳方法是什么?触发?

2 个答案:

答案 0 :(得分:1)

最好的解决方案是避免使用身份作为主键。身份可以构成良好的群集密钥,但不一定是主密钥。

否则你可以安排从Prod到Dev的数据库刷新,但是你要消除Dev中的所有工作,所以我每个月只做一次。

或者使用Identity Insert选项从Prod重新加载该表的数据的SSIS包。

答案 1 :(得分:0)

以下是我的建议:维护更容易。

由于这些不是prod数据库,因此请保留其中一个数据库表作为实际的真实来源。通过SSIS作业或手动数据导入实用程序(默认情况下随SQL Server安装提供)定期覆盖另一个实用程序