Estou aprendendo a usar o CDC no SQL Server 2008, li que o LSN é sempre incrementado e é baseado no carimbo de data/hora, então por que o LSN é necessário, se for calculado a partir do carimbo de data/hora que pode ser usado como id de sequência incremental para alterações feitas. Tenho certeza de que haverá algum outro propósito também do lsn.
relate perguntas
-
Melhores práticas para conectar bancos de dados que estão em diferentes regiões geográficas
-
Quais são as principais causas de deadlocks e podem ser evitadas?
-
Quanto "Padding" coloco em meus índices?
-
Existe um processo do tipo "práticas recomendadas" para os desenvolvedores seguirem para alterações no banco de dados?
-
Downgrade do SQL Server 2008 para 2005
Um valor de data/hora geralmente não é considerado exclusivo o suficiente. Não importa o quão bem você o defina, é possível ter 2 ações ocorrendo para o mesmo valor de data e hora.
Antes do SQL Server 2008, o valor mais preciso era de 3,33 milissegundos arredondados, o
datetime
que é realmente uma eternidade.datetime2
resolve para 100 nanossegundos, o que também não é preciso o suficiente.De outra perspectiva, o tempo é um número real . Não importa com que precisão você armazene um tempo, sempre haverá algum arredondamento para o seu nível de resolução (neste caso, 3,33 ms ou 100 ns)
O uso de LSN (que é
numeric (25,0)
) fornece um valor de número inteiro não ambíguo estritamente monotônico. É um número natural