NewSequentialId no Índice de cluster UniqueIdentifier

Estou trabalhando nos padrões de banco de dados para um novo banco de dados que minha empresa está iniciando. Uma das coisas que estamos tentando definir são as regras de Chave Primária e Índice de Cluster em relação aos UniqueIdentifier

(OBSERVAÇÃO: não quero discutir os prós e os contras do uso de um UniqueIdentifier como chave primária ou índice clusterizado. Há muita informação na Web sobre isso. Isso é essa discussão.)

Então aqui está o cenário que me preocupou:

Dizem que tenho uma tabela com um UniqueIdentifier como o índice clusterizado e a chave primária. Vamos chamá-lo de ColA. Defino o valor padrão para ColA como NewSequentialId ().

Usando esse NewSequentialId (), insiro três linhas sequenciais:

{72586AA4-D2C3-440D-A9FE-CC7988DDF065}
{72586AA4-D2C3-440D-A9FE-CC7988DDF066}
{72586AA4-D2C3-440D-A9FE-CC7988DDF067}

Então eu reinicio meu servidor. Odocs para NewSequentialId diga que "Depois de reiniciar o Windows, o GUID pode iniciar novamente a partir de um intervalo mais baixo, mas ainda é globalmente exclusivo"

Portanto, o próximo ponto de partida pode ser menor que o intervalo anterio

Então, após o reinício, insiro mais 3 valores:

{35729A0C-F016-4645-ABA9-B098D2003E64}
{35729A0C-F016-4645-ABA9-B098D2003E65}
{35729A0C-F016-4645-ABA9-B098D2003E66}

(Não sei exatamente como o guid é representado no banco de dados, mas vamos supor, desde que este comece com 3 e os anteriores com 7 que os 3 sejam "menores" que os 7

Quando você faz uma inserção no meio de um índice em cluster, um remapeamento do índice deve ocorrer. (Pelo menos foi o que o meu DBA me disse.) E toda vez que eu reinicio, corro o risco de ter meu novo intervalo UniqueIdentifier no meio de outros intervalos anteriore

Então, minha pergunta é: Como o próximo conjunto de UniqueIdentifiers será menor que o último, cada inserção fará com que meu índice clusterizado seja embaralhado?

E se não, por quê? O SQL Server sabe que estou usando NewSequentialId? Será que isso compensa isso?

Se não, então como ele sabe o que vou inserir a seguir? Talvez o próximo milhão de pastilhas comece com 3. Ou talvez comece com 7. Como ele sabe?

@Or não sabe e apenas mantém tudo em ordem. Se for esse o caso, uma reinicialização pode afetar enormemente o desempenho. (O que me faz pensar que preciso do meu próprio NewSequentialId personalizado que não seja afetado pelas reinicializações.) Isso está correto? Ou existe alguma mágica que eu não conheço?

EDITAR GUID como um índice clusterizado é fortemente desencorajado no meu padrão. Como eu disse acima, há muitas razões para que essa seja uma má idéia. Estou tentando descobrir se esse é outro motiv

questionAnswers(1)

yourAnswerToTheQuestion