将两个克隆的数据库合并回主数据库(MSSQL)

时间:2012-10-11 19:39:39

标签: php sql sql-server database merge

数据库类型是MSSQL。网站技术是PHP。

场景:我在办公室有一个主数据库。它被克隆了两次并被送往世界各地的两个不同的活动。数据被更改,新数据被添加,一些数据在两个克隆数据库中被删除。

事件结束,两个克隆的数据库都回到了办公室。我的任务是将数据库合并回一个主数据库。

我理解的事情:

  1. 如果在两个克隆上修改了同一行的数据,则需要做出(人类)决定决定采取哪种方法。

  2. 这个Master,克隆和回到master会很常见。

  3. 由于有很多表,因此有很多引用。我需要确保何时将数据注入主数据库,引用成立。

  4. 我可以就如何处理这种情况获得一些建议吗?

    *请注意,让各种活动地点直接访问主数据库并不是我所拥有的奢侈品。我必须假设每个事件都是脱机的。

2 个答案:

答案 0 :(得分:0)

这正是Merge-Replication旨在处理的情况类型。在这里查看我的文章系列:Stairway to SQL Server Replication

答案 1 :(得分:0)

这是您在发送数据库之前应该询问的问题类型。

您需要关注的主要考虑因素之一是您的主要ID数据类型。我建议使用GUID而不是自动递增整数,因为这样在两个数据库中创建的新记录将不会共享ID。这将使您的生活更加轻松。

在发送数据库之前,你应该看看 的另一件事是在所有行上都包含一个timestamp列。这也将使您的生活更加轻松。

使用guid和时间戳在2-3个数据库中查找表中的所有已修改记录是一件简单的事情。

使用guid在多个数据库中查找表中的所有新记录是一件简单的事情。