2014-10-10 87 views
1

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

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

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

任何人都可以帮忙吗?

+0

**什么是**数据库系统,以及哪个版本? * SQL *只是*结构化查询语言* - 许多数据库系统使用的语言,但不是数据库产品......这样的功能通常是特定于供应商的 - 因此我们确实需要知道**数据库系统**你正在使用....(请更新标签) – 2014-10-10 08:50:51

+0

我正在使用SQL Server 2008 R2 – psyche 2014-10-10 09:11:50

+0

然后你应该添加一个'sql-server-2008-r2'标签到你的问题! – 2014-10-10 09:12:16

回答

1

这是设计。 SQL Server中的每种类型的复制通常以公布的对象的初始同步开始,即所谓的快照。快照是由发布(源)指定的所有已发布对象和数据的副本。这包括在Types of Replication中。

默认情况下,项目属性行动,如果名称正在使用(@pre_creation_cmd)设置为删除已有的对象,并创建一个新的。这就是为什么你的表在服务器B中被删除并重新创建的原因。

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

另外,也可以设置项目属性行动,如果名称正在使用保留现有对象保持不变删除数据,或截断所有数据在现有对象。您可以在发布属性 - >文章页面找到该选项。您需要试验每个选项以查看哪一个符合您的需求。