Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Przechowywanie sekundy przestępnej w SQL Server 2008

Nie możesz, ponieważ SQL pobiera czas z Windows, a Windows również nie obsługuje sekund przestępnych.

System Windows stosuje sekundy przestępne, pobierając nowy czas z serwera czasu nadrzędnego i stosując zwykłe korekty tak, jakby były proste dryf zegara .

Zwykle oznacza to dostosowywanie każdej sekundy o kilka nanosekund przez dłuższy czas. W ciągu 24 godzin działałoby to z prędkością około jednej milisekundy na minutę.

Zasadniczo większość aplikacji po prostu udaje, że nie ma czegoś takiego jak sekundy przestępne.

W większości przypadków nie ma to znaczenia. Jeśli masz aplikację, w której ma to znaczenie, system operacyjny ci nie pomoże. Będziesz także potrzebował specjalnego sprzętu do śledzenia czasu, ponieważ systemy operacyjne i tak mają problem z utrzymaniem czasu w ciągu sekundy. Windows domyślnie synchronizuje czas co tydzień lub rzadziej, a większość tanich zegarów sprzętowych PC (lub nawet tych w drogich serwerach) może z łatwością przesuwać się o kilka sekund w tym czasie.

Ponieważ zależy Ci na dokładnym czasie, zakładam, że wskazujesz na pool.ntp.org lub swoją regionalną podsieć i kilka razy dziennie ustawiłeś w32time do synchronizacji.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Konfigurowanie Liquibase z MS-SQL Server

  2. Jak skutecznie modelować dziedziczenie w bazie danych?

  3. Nie można zarejestrować domyślnej instancji MSSQLSERVER w SQL Server 2008

  4. Tabele SQL Server:jaka jest różnica między @, # i ##?

  5. Jak sumować rachunki według długości kodu rachunku?