Freigeben über


Unterstützung für den Zweiten Sprung

Dieser Artikel enthält Informationen zur Microsoft-Unterstützung für den Zweiten Sprung.

Ursprüngliche KB-Nummer: 2722715

Übersicht

Dieser Artikel enthält Informationen zur Microsoft-Unterstützung für den Zweiten Sprung. Der Zweite Sprung ist eine Ein-Sekunde-Anpassung, die gelegentlich auf koordinierte Weltzeit (UTC) angewendet wird, um ihre Tageszeit nahe an der mittleren Sonnenzeit oder UT1 zu halten.

Notiz

Windows Server 2019 und Windows 10 Oktober 2018 Update unterstützen Schaltsekunden in der Plattform. Dieser Artikel gilt jedoch nicht unbedingt für diese oder spätere Betriebssysteme. Weitere Informationen finden Sie unter:

Weitere Informationen

(1) Windows

Informationen zum Betriebssystem
Die Schalt second-Verarbeitung wird nicht separat vom Windows-Betriebssystem (Os) behandelt. Beispiel: Jahres-, Monats-, Datums- und Uhrzeitinformationen im folgenden Format werden vom Windows-Betriebssystem nicht unterstützt:

jjjj/mm/tt 08:59:60

Daher wird 2012/7/1 08:59:60 als 2012/7/1 09:00:00, gemäß ISO 8601-Format verarbeitet.

Informationen zum Zeitsynchronisierungsdienst (Windows-Zeitdienst)
Der Windows-Zeitdienst implementiert keinen Zweiten Sprung, auch wenn er das Leap Indicator (LI)-Flag vom NTP-Server an den Server übergibt, auf dem der Windows-Zeitdienst und die clients auf down-Level gehostet werden, die von ihr synchronisiert werden. Der Windows-Zeitsynchronisierungsdienst (W32Time) fügt keinen Zweiten Sprung ein und fährt stattdessen mit dem üblichen Zeitsynchronisierungsprozess fort.

Während des kurzen Zeitraums, der auf die Einführung eines Schalts second auf einem upstream-NTP-Server (einschließlich W32time Server) folgt, erfolgt ein Zeitunterschied von etwa einer Sekunde zwischen diesem upstream-NTP-Server und den W32time-Clients, die daraus synchronisiert werden. Die W32time-Clients korrigieren ihre lokalen Uhren, wenn sie die Zeit anschließend vom Upstreamserver synchronisieren.

Weitere Informationen finden Sie im folgenden Microsoft Knowledge Base (KB)-Artikel:

909614 Wie der Windows-Zeitdienst einen Zweiten Sprung behandelt

Darüber hinaus ist es im Windows-Zeitdienst nicht immer möglich, das Auftreten von geringfügigen Zeitunterschieden wie etwa einer Sekunde zu verhindern. Das Betriebssystem ist für die Verarbeitung von Zeitvariationen konzipiert. Schalt-second-Variationen werden sauber behandelt, was eine unterbrechungsfreie Ausführung ermöglicht. Weitere Informationen finden Sie im folgenden KB-Artikel:

939322 Supportgrenze zum Konfigurieren des Windows-Zeitdiensts für Umgebungen mit hoher Genauigkeit

Über den Clusterdienst Wie bei der Clusterkonfiguration ist dies mit dem Betriebssystem identisch: Die zweite Verarbeitung des Schaltvorgangs wird nicht ausgeführt.

(2) SQL Server 2000, 2005, 2008, 2008 R2, 2012 und 2014

SQL Server verwendet keine Zeitdaten zum Verwalten interner Vorgänge wie Transaktionen. Selbst wenn eine Abweichung von einer Sekunde in der Systemzeit aufgrund des Zweiten Schaltsprungs auftritt, wirkt sich dies nicht auf SQL Server-Vorgänge aus. Wie beim Windows-Betriebssystem erkennt SQL Server den Zweiten Sprung nicht unabhängig.

Beachten Sie, dass der Datumsdatentyp (z. B. Datetime) das Format, in dem der Sekundenwert 60 erreicht, z. B. 2012/7/1 08:59:60, nicht unterstützt. Wenn daher eine Verbindung mit SQL Server aus einer Anwendung hergestellt wird, die auf einem Betriebssystem ausgeführt wird, das den Zweiten Sprung unterstützt, und das Betriebssystem versucht, einen Zweiten Sprung (Daten, in denen der Wert des zweiten Werts 60 ist) in der Spalte und Variable des Datumsdatentyps festzulegen, wird ein Fehler zurückgegeben. Weitere Informationen finden Sie im folgenden Abschnitt "Referenzinformationen".

Referenzinformationen

[Beispiel] Wenn der Zweite Sprung als Datumsdatentyp in SQL Server behandelt wird

create table leap_second(
a int,
b datetime,
)
go
insert into [leap_second] values (1,convert(datetime,'2012/07/01 08:59:60'))
go
select convert(datetime,'2012/07/01 08:59:60')
go
select datediff(day,convert(datetime,'2012/07/01 08:59:60'),getdate())
go
declare @b datetime
set @b='2012/07/01 08:59:60'
go
declare @c time
set @c='08:59:60'
go
declare @d datetime2
set @d='2012/07/01 08:59:60'
go
declare @e datetimeoffset 
set @e='2012/07/01 08:59:60'
go

Ergebnis
Nachricht 242, Ebene 16, Status 3, Zeile 1
Als Ergebnis der Konvertierung vom Datentyp "varchar" in den Datentyp "datetime" wird der Wert außerhalb des Bereichs festgelegt.
Die Anweisung wurde beendet.

Nachricht 242, Ebene 16, Status 3, Zeile 1
Als Ergebnis der Konvertierung vom Datentyp "varchar" in den Datentyp "datetime" wird der Wert außerhalb des Bereichs festgelegt.

Nachricht 242, Ebene 16, Status 3, Zeile 1
Als Ergebnis der Konvertierung vom Datentyp "varchar" in den Datentyp "datetime" wird der Wert außerhalb des Bereichs festgelegt.

Nachricht 242, Ebene 16, Status 3, Zeile 3
Als Ergebnis der Konvertierung vom Datentyp "varchar" in den Datentyp "datetime" wird der Wert außerhalb des Bereichs festgelegt.

Nachricht 241, Ebene 16, Status 1, Zeile 2
Fehler beim Konvertierungsprozess bei der Konvertierung von der Zeichenfolge in das Datum und die Uhrzeit oder in eines der beiden Zeichen.

Nachricht 241, Ebene 16, Status 1, Zeile 2
Fehler beim Konvertierungsprozess bei der Konvertierung von der Zeichenfolge in das Datum und die Uhrzeit oder in eines der beiden Zeichen.

Nachricht 241, Ebene 16, Status 1, Zeile 2
Fehler beim Konvertierungsprozess bei der Konvertierung von der Zeichenfolge in das Datum und die Uhrzeit oder in eines der beiden Zeichen.

(3) Exchange Server 2003, 2007, 2010 und 2013

Die in Exchange Server verwendete Zeit enthält die Zeit, die durch die Systemuhr gemessen wird, und die Zeit, die als verstrichener Zeitraum seit dem Start des Diensts berechnet wird. Bei der Verarbeitung, die die Systemuhr verwendet, funktioniert der Exchange-Server, ohne den Zweiten Schaltsprung zu erkennen. Andererseits (wenn der verstrichene Zeitraum betroffen ist), obwohl bei der Einfügung des Zweiten Sprungs eine Differenz von einer Sekunde auftritt, kann diese Abweichung auch unter normalen Umständen auftreten. Wie beim Windows-Betriebssystem wurde Exchange Server für kleinere Zeitvariationen entwickelt. Daher sind Exchange Server-Vorgänge nicht betroffen.

Neben dem internen Vorgang stellt ein Zeitplan im iCalendar-Format einen Fall dar, in dem ein Zeitwert (von außen) empfangen werden kann, zu dem ein Schaltsehwert hinzugefügt wurde. Wenn Exchange Server jedoch Zeitpläne im iCalendar-Format empfängt, unterstützt das Programm nur die Formate, in denen die Zeitnotation gemäß RFC 5545 definiert ist. Im Bereich 060 wird die Sekundennotation im Bereich von 060 unterstützt. Wenn eine Zahl, die größer als 60 ist, als Sekundenwert angegeben wird, wird sie als ungültiges Format verarbeitet und nicht als das richtige iCalendar-Format erkannt.

In Outlook gilt 60 Sekunden als 0. Daher wird 2012/07/01 08:59:60 2012/07/01 08:59:00. Es bedeutet, dass es höchstens eine Abweichung von einer Minute gibt. In einem solchen Fall kann die Reihenfolge der Entgegennahme von E-Mails abweichen, andernfalls gibt es keine Auswirkungen auf vorgänge.

Weitere Informationen finden Sie unter

2.2.36 [RFC5545] Abschnitt 3.3.12 Uhrzeit

(4) Internetinformationsdienste (IIS)

Der Zweite Sprung hat keine Auswirkung in IIS.

(5) Andere

Anwendungen, die in Windows ausgeführt werden, verwenden in der Regel die Systemuhr. Daher können sie ohne Rücksicht auf den Zweiten Sprung verwendet werden.

Wenn jedoch von einer Anwendung aus auf ein Microsoft-Produkt zugegriffen wird, das die Zeit eigenständig verwaltet und die den Zweiten Sprung unterstützt, oder von einer Anwendung, die auf einem Betriebssystem ausgeführt wird, das den Zweiten Sprung unterstützt, treten wahrscheinlich Probleme auf. Dies liegt daran, dass Microsoft-Produkte den Zweiten Sprung nicht erkennen.

Darüber hinaus sollten Anwendungen nicht auf die Systemzeit angewiesen werden, um monotonisch zu erhöhen. Stattdessen sollten sie die GetTickCount64() -Funktion verwenden, um die aktuelle Teilstrichanzahl zu lesen, was die Zeit seit dem Start in Millisekunden ist.