Estou seguindo este post SO onde o autor (programador de pilha) afirma
O servidor SQL usa a coluna de identidade como o valor da chave para se referir a uma linha específica. Portanto, apenas uma única coluna de identidade pode ser criada.
Ele também mencionou que
Além disso, se nenhuma coluna de identidade for declarada explicitamente, o servidor Sql armazena internamente uma coluna separada que contém o valor da chave para cada linha.
Alguém poderia explicar os dois pontos (especialmente o segundo) com mais detalhes?
Obrigado
Espero que não, pois ambos estão errados . No SQL Server, as linhas são identificadas por chaves (em árvores B) ou por IDs de linha (em heaps). Os índices clusterizados não exclusivos têm uma coluna de identificador interno. O fato de muitas vezes uma coluna do tipo IDENTITY também ser usada como chave primária é ortogonal à questão.
Não baseie seu conhecimento em postagens em fóruns, incluindo StackOverflow e incluindo esta mesma postagem. Uma boa fonte é a documentação oficial, por exemplo. Tabelas e Índice Estruturas de Dados Arquitetura . Leia um bom livro, como a série SQL Server Internals .