Pourquoi la différence de time (UTC) se produit-elle dans une application s'exécutant localement en azure?

Dans mon application, nous stockons le datetime créé (en UTC) dans la database. Cela fonctionne correctement lors de l'exécution de l'application dans la machine locale. La même application fonctionne à partir de l'application exécutée localement.

Le même problème se produit entre le server SQL Server (sur site) et Azure Sql

une "différence de +2 min" semble être due à des différences dans les horloges système entre les deux systèmes.

Votre question ne précise pas la source du " datetime créé (en UTC)"

Est-ce à partir d'une fonction de database ou de votre application?

L'explication la plus probable du comportement que vous observez est que les horloges système sur les deux systèmes différents ne sont pas synchronisées en utilisant le même service de time.


Une montre timex de quatre dollars conserve un meilleur time que l'horloge matérielle dans un server de 4000 $. (Je suis surpris que la dérive ne soit que de deux minutes.) Si vous voulez que les horloges des deux systèmes correspondent, il doit y avoir un mécanisme pour les synchroniser les unes avec les autres.

SUIVRE

Je crois que la réponse ci-dessus a répondu à la question que vous avez posée.

Vous pouvez avoir des questions supplémentaires. Je pense que la question à laquelle vous cherchez peut-être une réponse … "Comment configurer plusieurs servers Windows pour synchroniser les horloges système?"

Quelques suggestions

  • Windows Time Service (Microsoft fournit-il un mécanisme?)
  • NTP = Network Time Protocol (Azure prend-il en charge NTP?)
  • time.windows.com (Quelle est la source de time par défaut sur Azure?)
  • une fois par semaine – (Quelle est la fréquence par défaut …

etc.