【问题标题】:Syncing of Two Databases同步两个数据库
【发布时间】:2014-10-10 08:49:44
【问题描述】:

我在使用复制同步两个数据库时遇到问题。

是的,我已经完成了可以将SERVER A 的数据复制到SERVER B 的部分。

但我的问题是,它删除了SERVER B 的现有数据,这些数据在SERVER A 中找不到。

谁能帮忙?

【问题讨论】:

  • 什么数据库系统,哪个版本? SQL 只是 结构化查询语言 - 许多数据库系统使用的语言,但不是数据库产品...这样的功能通常是特定于供应商的 - 所以我们真的需要知道您使用的是什么数据库系统....(请相应地更新标签)
  • 我使用的是 SQL Server 2008 R2
  • 那么你应该在你的问题中添加一个sql-server-2008-r2标签!

标签: sql sql-server-2008-r2 replication


【解决方案1】:

这是设计使然。 SQL Server 中的每种复制类型通常从发布对象的初始同步开始,这称为快照。快照是发布(源)指定的所有已发布对象和数据的副本。这在Types of Replication 中有介绍。

默认情况下,文章属性Action if name is in use (@pre_creation_cmd) 设置为删除现有对象并创建一个新对象。这就是您的表在 SERVER B 中被删除和重新创建的原因。

您需要手动将现有数据库合并为一个并从该源进行初始化。

或者,您可以将文章属性Action if name is in use设置为保持现有对象不变删除数据截断现有对象中的所有数据。您可以在出版物属性 -> 文章页面中找到此选项。您需要对每个选项进行试验,看看哪一个满足您的需求。

【讨论】:

    猜你喜欢
    • 2010-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-04
    相关资源
    最近更新 更多