andinistrator1
Goto Top

SQL Server Uhrzeit Server und Datenbankeinträge unterschiedlich

Hallo Zusammen,

bei meinem SQL Server weicht die Uhrzeit, welche im Windows eingestellt ist um genau 2h von dem ab, was in der Datenbank steht wenn ich Daten importiere.

Kann mir jemand helfen, wie ich das lösen kann?

Eventuell zum Hinweis, was sich unterscheidet:

SELECT SYSDATETIME()
,SYSDATETIMEOFFSET()
,SYSUTCDATETIME()
,CURRENT_TIMESTAMP
,GETDATE()
,GETUTCDATE();

2015-07-08 11:48:57.2611550
2015-07-08 11:48:57.2611550 +02:00
2015-07-08 09:48:57.2611550
2015-07-08 11:48:57.260
2015-07-08 11:48:57.260
2015-07-08 09:48:57.260

Ich verstehe nicht warum hier die Zeiten anders sind bzw. wie ich das einheitlich machen kann, also die
SYSUTCDATETIME
GETUTCDATE

Das SYSDATETIMEOFFSET sagt hier +2, Windows aber hat gespeichert (UTC+01:00) Amsterdam, Berlin, Bern, Rom, Stockholm, Wien.

Content-Key: 276735

Url: https://administrator.de/contentid/276735

Printed on: April 26, 2024 at 16:04 o'clock

Member: Pjordorf
Solution Pjordorf Jul 08, 2015, updated at Jul 09, 2015 at 10:13:52 (UTC)
Goto Top
Hallo,

Zitat von @Andinistrator1:
2015-07-08 11:48:57.2611550
2015-07-08 11:48:57.2611550 +02:00
2015-07-08 09:48:57.2611550
2015-07-08 11:48:57.260
2015-07-08 11:48:57.260
2015-07-08 09:48:57.260
Ist doch alles OK. Du solltest dich mal mit Uhrzeiten befassen.
https://de.wikipedia.org/wiki/Koordinierte_Weltzeit
http://www.timeanddate.com/worldclock/timezone/utc
http://www.weltzeituhr.com/infos/utc.shtml

Und da wir hier in DE nun MESZ haben face-smile passen die 2 Stunden. UTC = Greenwich (GB)

Und somit musst du nur entscheiden welche Uhrzeit dein Server OS bzw. dein SQL Server XYZ nun wann und wo verwenden soll face-smile

Das SYSDATETIMEOFFSET sagt hier +2, Windows aber hat gespeichert (UTC+01:00) Amsterdam, Berlin, Bern, Rom, Stockholm, Wien.
+2 ist doch bei MESZ richtig face-smile und somit wieder auch bei dein UTC+01:00 Amsterdam, Berlin, Bern, Rom, Stockholm, Wien..... Da gibt es doch in dein Windows OS so etwas wie Sommerzeit / Winterzeit, oder? face-smile

Gru0,
Peter
Member: Andinistrator1
Andinistrator1 Jul 08, 2015 at 10:22:03 (UTC)
Goto Top
Vielen Dank,
bedeutet dies es wird beim Import etwas falsch gemacht, sodass die Differenz von 2h nicht berücksichtigt wird?
Member: Pjordorf
Pjordorf Jul 08, 2015 at 10:31:11 (UTC)
Goto Top
Hallo,

Zitat von @Andinistrator1:
bedeutet dies es wird beim Import etwas falsch gemacht
Einstellungen? Die Handbücher zu dein SQL Server System werden dir verraten wie dort wo und wie und vor allem wann welche Zeit zu welchen Zweck herangezogen wird wenn du nicht was anders vorgibst bzw. haben willst. Irgendwo und irgendwer wird da schon was eingestellt bzw. vor eingestellt haben. Im Zweifel der Hersteller.

Gruß,
Peter
Member: Andinistrator1
Andinistrator1 Jul 08, 2015 at 10:38:30 (UTC)
Goto Top
Die Zeiteinstellung am SQL Server wurde nicht manipuliert, ich gehe daher davon aus du meinst man müsse sich beim Importieren auf das DATE und nicht auf das UTCDATE beziehen, richtig?
Member: Pjordorf
Pjordorf Jul 08, 2015 at 11:12:15 (UTC)
Goto Top
Hallo,

Zitat von @Andinistrator1:
Die Zeiteinstellung am SQL Server wurde nicht manipuliert,
Hat auch keiner behauptet face-smile

ich gehe daher davon aus du meinst man müsse sich beim Importieren auf das DATE und nicht auf das UTCDATE beziehen, richtig?
So etwas in der Artface-smile Aber da wir nur wissen (nicht genug):
- Windows Server
- SQL Server
- Datum falsch
- Import von Daten
wird es uns unmöglich sein dir zu sagen was du dort wie wo wann und womit machen sollst wenn du dort ein Import machst. Sorry, daher auch nur orakelhafte Andeutungen einer Fehlerquelle / Lösung.

Gruß,
Peter
Member: Andinistrator1
Andinistrator1 Jul 09, 2015 at 10:21:03 (UTC)
Goto Top
Ok das scheint normal zu sein, dass in SQL die UTC Zeit gefüllt wird (CREATEDDATETIME) - und die ist ein DE nunmal gerade 2h Unterschied.

Die Anwendung welche die Zeit importiert muss benötigt daher die Information aus der UTCDATETIME beziehen, mein Beispiel

2015-07-08 11:48:57.2611550 +02:00

Die Zeit 11:48 Uhr ist die UTC Uhrzeit 09:48 Uhr + 02:00h (MESZ).

Danke Peter