Sql server 在不同的数据库中使用相同的表id

Sql server 在不同的数据库中使用相同的表id,sql-server,Sql Server,假设我有两个数据库,一个用于开发,一个用于维护,例如,两个数据库都有相同的表,有人在数据库开发中的Table1(这是一个字典表)上添加了一条记录,但他忘了在维护中在Table1上插入它,所以ID不是sincronizad,我们最终在两个数据库中使用相同的名称但不同的ID 使用外部序列保持这两个表同步的最佳方法是什么?触发器?最好的解决方案是避免使用标识作为主键。身份是很好的集群密钥,但不一定是主键 否则,您可以安排从Prod到Dev的数据库刷新,但您将删除Dev中的所有工作,所以我每月只做一次

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


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

最好的解决方案是避免使用标识作为主键。身份是很好的集群密钥,但不一定是主键

否则,您可以安排从Prod到Dev的数据库刷新,但您将删除Dev中的所有工作,所以我每月只做一次


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

我的建议是:这将更易于维护


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

RedGate有助于在不同环境中保持表数据的一致性。我在想是否有更好的方法:(Redgate很好,但我们没有itA计划的SSIS作业,我包括的第三个选项不使用任何第三方工具。只要您只更新一个表,这就是您的最佳选项。