sql >> Databáze >  >> RDS >> Sqlserver

Sloupec identity SQL Server 2000/2005 + replikace

Je zde možnost "NENÍ K REPLIKACI ", které lze použít na sloupce identity (a spouštěče a další omezení).

Ve vašem příkladu by server1 semenoval 1-10, ale jednoduše přijal replikované 11-20.

Několik způsobů nastavení semen:

Buď:nastavte seed/přírůstky pomocí NOT FOR REPLICATION takto

  • Semeno 1, přírůstek 2
  • Zárodek 2, přírůstek 2
  • Začátek -1, přírůstek -2
  • Semeno -2, přírůstek -2
  • Začátek 1000000001, přírůstek 2
  • Začátek 1000000002, přírůstek 2
  • Semeno -1000000002, přírůstek -2
  • Semeno -1000000001, přírůstek -2

To vám dává 500 000 000 na server pro 8 serverů

Nebo:Přidejte druhý sloupec s názvem ServerID, abyste získali složené klíče, pro sloupec ID použijte NOT FOR REPLICATION

To se škáluje až na, řekněme, 256 serverů pro tinyint s 2^32 řádky na server

Oba způsoby fungují...




  1. Ruby on Rails:Jak mohu upravit database.yml pro postgresql?

  2. Přesný rozdíl mezi klientem Oracle a databází Oracle

  3. Je možné vypnout zpracování nabídek v příkazu Postgres COPY s formátem CSV?

  4. záloha databáze mysql pomocí mysqldump