Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Memorizzazione di un secondo intercalare in SQL Server 2008

Non è possibile, perché SQL ottiene l'ora da Windows e Windows non supporta nemmeno i secondi intercalari.

Windows applica i secondi intercalari prendendo la nuova ora dal server dell'ora a monte e applicando le consuete regolazioni come se fosse semplice deriva dell'orologio .

Di solito questo significa regolare ogni secondo di pochi nanosecondi per un periodo prolungato. In 24 ore funzionerebbe a circa un millisecondo al minuto.

Fondamentalmente, la maggior parte delle applicazioni finge semplicemente che non esistano i secondi intercalari.

Per la maggior parte degli scopi questo non ha importanza. Se hai un'applicazione in cui questo è importante, il sistema operativo non ti aiuterà. Avrai anche bisogno di hardware speciale per tenere traccia del tempo, poiché i sistemi operativi generalmente hanno problemi a mantenere il tempo entro un secondo. Windows per impostazione predefinita sincronizza l'ora settimanalmente o meno spesso, e la maggior parte degli orologi hardware dei PC economici (o anche quelli dei server costosi) possono facilmente spostarsi di diversi secondi in quel lasso di tempo.

Dal momento che ti interessa l'ora esatta, presumo che tu stia puntando su pool.ntp.org o sulla tua sottorete regionale e abbia impostato w32time per la sincronizzazione più volte al giorno.