Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Coluna de identidade do SQL Server 2000/2005 + replicação


Existe a opção "NÃO PARA REPLICAÇÃO " que pode ser aplicado a colunas de identidade (e gatilhos e outras restrições).

No seu exemplo, server1 propagaria 1-10, mas simplesmente aceitaria 11-20 replicado.

Algumas maneiras de definir suas sementes:

Ou:defina sua semente/incrementos com NOT FOR REPLICATION assim
  • Semente 1, incremento 2
  • Semente 2, incremento 2
  • Semente -1, incremento -2
  • Semente -2, incremento -2
  • Semente 1000000001, incremento 2
  • Semente 1000000002, incremento 2
  • Semente -1000000002, incremento -2
  • Semente -1000000001, incremento -2

Isso lhe dá 500.000.000 por servidor para 8 servidores

Ou:Adicione uma segunda coluna chamada ServerID para fornecer chaves compostas, use NOT FOR REPLICATION para a coluna ID

Isso é dimensionado para, digamos, 256 servidores para tinyint com 2^32 linhas por servidor

De qualquer forma funciona...