Pergunta

Eu olhei já e apenas a alguns recursos quero esclarecer e obter uma opinião.

Primeiro de tudo para evitar totalmente qualquer problemas que simplesmente não conseguia se incomode com colunas de identidade como chaves primárias em vez tê-los gerado nós mesmos e só tem esses valores replicados em ambos os sentidos presumindo que eles são sempre únicas em qualquer momento da criação.

Para efeitos da presente pergunta que eu estou falando sobre 2 ou mais replicação maneira de resolver os problemas de acesso global e nós temos colunas de identidade.

Agora estamos a criar a replicação transacional e ambos os bancos de dados devem replicar para os outros.

Pelo que entendi você alocar um intervalo de valores de sementes para cada servidor de banco de dados e ele vai usá-los, você sabe que há causa única que você deu intervalos que não se cruzam. Então, isso significa durante a replicação estes valores são inseridos na coluna semente?

Então, se você alocar intervalos de 1-10 e 11-20 para 2 servidores uma vez que cada servidor tenha inserido 10 linhas você terá sementes 1-20 em ambas as bases de dados?

Foi útil?

Solução

Há a opção " NOT FOR REPLICATION " que pode ser aplicado a colunas de identidade (e gatilhos e outras restrições).

No seu exemplo, server1 seria semear 1-10, mas simplesmente aceitar replicado 11-20.

Um par de maneiras de configurar suas sementes:

Ou: definir suas sementes / incrementos com NOT FOR REPLICATION como este

  • Semente 1, incremento de 2
  • Seed 2, incremento de 2
  • Semente -1, -2 incremento
  • Semente -2, incremento de -2
  • Semente 1000000001, incremento de 2
  • Semente 1000000002, incremento de 2
  • Semente -1000000002, incremento de -2
  • Semente -1000000001, incremento de -2

Isto dá-lhe 500 milhões por servidor para 8 servidores

Ou: Adicionar uma segunda coluna chamada ServerID para dar chaves compostas, não use FOR REPLICATION para a coluna ID

Este escalas até, digamos, 256 servidores para tinyint com 2 ^ 32 linhas por servidor

De qualquer maneira funciona ...

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top