代码之家  ›  专栏  ›  技术社区  ›  Robert

SQL Server 2000/2005标识列+复制

  •  1
  • Robert  · 技术社区  · 17 年前

    首先,为了完全避免任何问题,我们可以不用麻烦使用标识列作为主键,而是让它们自己生成,并让这些值以两种方式复制,假定它们在任何创建时间都是唯一的。

    出于这个问题的目的,我谈论的是解决全局访问问题的两种或多种复制方式,我们有标识列。

    因此,如果将范围1-10和11-20分配给2台服务器,一旦每台服务器插入了10行,那么这两个数据库中都会有种子1-20?

    1 回复  |  直到 17 年前
        1
  •  4
  •   gbn    15 年前

    这是一种选择。” NOT FOR REPLICATION “可以应用于标识列(以及触发器和其他约束)。

    以你为例,, server1将为1-10种子,但只接受复制的11-20。

    设置种子的两种方法:

    或者:将种子/增量设置为NOT,以便像这样进行复制

    • 种子1,增量2
    • 种子2,增量2
    • 种子-1,增量-2
    • 种子-2,增量-2
    • 种子100000001,增量2
    • 种子100000002,增量2
    • 种子-100000001,增量-2

    这将为8台服务器提供500000000台服务器

    添加名为ServerID的第二列以提供复合键,不用于ID列的复制

    例如,tinyint可以扩展到256台服务器,每台服务器2^32行