Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Armazenando um segundo bissexto no SQL Server 2008


Você não pode, porque o SQL obtém a hora do Windows, e o Windows também não suporta segundos bissextos.

O Windows aplica segundos bissextos tomando o novo horário do servidor de horário upstream e aplicando os ajustes usuais como se fosse simples desvio do relógio .

Normalmente, isso significa ajustar cada segundo em alguns nanossegundos durante um período prolongado. Mais de 24 horas funcionaria em cerca de um milissegundo por minuto.

Basicamente, a maioria dos aplicativos simplesmente finge que não existem segundos bissextos.

Para a maioria dos propósitos, isso não importa. Se você tiver um aplicativo em que isso seja importante, o sistema operacional não o ajudará. Você também precisará de algum hardware especial para rastrear o tempo, pois os sistemas operacionais geralmente têm problemas para manter o tempo dentro de um segundo de qualquer maneira. O Windows, por padrão, sincroniza o tempo semanalmente ou com menos frequência, e os relógios de hardware de PC mais baratos (ou mesmo aqueles em servidores caros) podem facilmente oscilar vários segundos nesse tempo.

Como você se preocupa com a hora exata, suponho que você esteja apontando para pool.ntp.org ou sua sub-rede regional e tenha definido w32time para sincronização várias vezes por dia.