Dieses Wochenende ist ein besonders langes Wochenende, denn es wird ein zusätzliche Sekunde eingefügt nach 23:59:59
am 30. Juni.
Wir haben ein System, das rund um die Uhr eine Vielzahl von Daten protokolliert, und eine der Geschäftsregeln besagt, dass keine zwei Datensätze innerhalb einer Sekunde als gleichzeitig aufgetreten protokolliert werden dürfen.
Wir verwenden UTC-Datumszeiten zusammen mit dem neuen datetimeoffset
Datentyp, aber soweit ich weiß, kann man in einer Minute nicht mehr als 60 Sekunden haben.
Dies führt natürlich zu einem Fehler:
select datediff(ss, getdate(), '30-jun-2012 23:59:60')
Aber laut den UTC-Göttern wird dies eine echte Zeit sein. Ereignisse können stattfinden um 23:59:60
aber wir haben keine Möglichkeit, diese Tatsache zu dokumentieren.
23:59:59
plus eine Sekunde Versatz wird weiterhin berücksichtigt 00:00:00
am 1. Juli.
Wie kann ich korrekt protokollieren, dass ein Ereignis bei 23:59:60
in der Datenbank?