我在 stackoverflow.com 上问过这个问题,他们也建议我在这里问这个问题。
我有一个新客户端,等等等等,我需要将 SQL Server 2000 复制从他们的家庭办公室中断到另一个他们将完全删除的数据库(在某些托管位置,不再需要它)。
我相信,家庭办公室的那个是“出版商”。老实说,我认为我们可以删除另一个数据库,而家庭办公室的数据库会运行良好,但是稍微清理一下并摆脱出版物/订阅的东西会很好。
我关心的一个问题是身份插入。在具有自动分配的整数主键的表上,每个数据库都会“保留”一个它会使用的 id 块,这样它们在同步时就不会互相践踏。
那么,如果我只是转储复制的东西,数据库会愉快地插入直到它达到其自动编号范围的上限吗?那会发生什么?
从发布者中删除复制,然后完全删除复制配置。这将摆脱分配的 ID 块,剩下的单个服务器将使用所有 ID。
身份插入保留是由复制完成的还是以某种方式与其绑定的?我怀疑他们正在使用合并复制,这意味着存在发布者和子订阅者。插入标识也可能不会厌倦出版物的设置方式。所以当你删除复制时会发生两件事之一,它将继续只使用保留块,所以现在你需要扩展它。或者它会检测到另一个数据库已经消失,并让剩下的数据库访问所有数字。我怀疑它会继续使用保留的块,所以你会没事的,直到它用完数字。
如果您要保留的数据都在家庭服务器上,那么您几乎可以打开 SQL 企业管理器,深入到复制节点,您会在那里找到服务器的复制,您应该能够右键单击并删除。那会杀了那个。
然后,如果我记得您,然后删除该出版物(由数据库本身的共享手表示),然后如果您愿意,您可以禁用整个服务器上的复制。
抱歉,我没有说得更具体一点,但是自从我有任何复制要做以来已经有很多年了。