Com a replicação de mesclagem, se o assinante ficar sem identidades para um intervalo quando ocorrerem inserções nele, o assinante lançará um erro na inserção na tabela, porque é a publicação que deve conceder mais identidades - e a inserção está acontecendo no assinante. Uma prática melhor seria fazer com que o editor seja apenas o receptor das inserções, mas em alguns ambientes ou situações, as inserções podem ocorrer tanto para o editor quanto para o assinante, portanto, muitas pessoas estendem o intervalo.
Estou curioso para saber como as sequências se comparam às identidades aqui, pois não consigo encontrar nenhuma indicação de que as sequências sejam limitadas por configurações de replicação de mesclagem, como os campos de identidade.
Acredito que Aaron Bertrand ou outro MVP tem sido muito bom em sequências e tenho tentado forçar minha organização a usá-las em vez de identidades, mas é uma longa jornada.
Com a replicação de mesclagem, os intervalos de identidade devem ser alocados ao publicador e a cada assinante. O gerenciamento do intervalo de identidade pode ser manual ou automático.
Como você já descobriu, quando um intervalo se esgota, um novo intervalo deve ser alocado. Com o gerenciamento automático de intervalo, o agente de mesclagem se encarrega de alocar um novo intervalo, com o gerenciamento manual de intervalo, você decide o que deve acontecer.
Com as sequências, você ainda terá o mesmo problema, com a diferença de que não existe gerenciamento automático de intervalos de sequências, portanto, sua única opção é a alocação manual de intervalos. (FWIW, as identidades são implementadas com sequências no SQL Server 2012 e superior ).
Minha sugestão é evitar completamente identidades e sequências: elas fazem mais mal do que bem. Você sabia que para permitir que a alocação do intervalo de identidade aconteça no editor, os usuários que inserem dados no banco de dados precisam ser membros da função db_owner ? Sim, isso é horrível.
Com a replicação de mesclagem, você precisa de um identificador exclusivo ROWGUIDCOL de qualquer maneira, então por que você não usa essa coluna como sua chave substituta? Se sua chave for realmente uma substituta, ninguém poderá vê-la ou usá-la e ela deverá ser completamente transparente para o aplicativo.