Apenas uma idéia, se você tiver 2 colunas de "identidade", certamente elas estariam 'em sincronia' - se não exatamente o mesmo valor, difeririam por um valor constante. Em caso afirmativo, por que não adicionar a coluna "segunda identidade" como um
COMPUTED
coluna
, que compensa a identidade primária? Ou minha lógica é falha aqui? Edit:De acordo com o comentário de Martin, observe que seu cálculo pode precisar ser N * id + C, onde N é o incremento e C o deslocamento / delta - desculpe minha matemática enferrujada.
Por exemplo:
ALTER TABLE MyTable ADD OtherIdentity AS Id * 2 + 1;
Editar Observe que para o Sql 2012 e posterior, agora você pode usar uma sequência independente para criar duas ou mais colunas de incremento independente na mesma tabela.
Observação :OP editou o requisito original para incluir sequências de recuperação (observando que as colunas de identidade no SQL não recuperam os IDs usados uma vez excluídos).