Différence DateTime.UtcNow et GETUTCDATE ()

c# dapper datetime sql-server

Question

Notre serveur de production a un problème où C # DateTime.UtcNow ne s'aligne pas sur GETUTCDATE () de SQL Server d'environ 27 secondes:

Console.WriteLine("C# UTC Date: " + DateTime.UtcNow);
Console.WriteLine("DB UTC Date: " + Connection.Query<DateTime>("SELECT GETUTCDATE()").Single());

C# UTC Date: 4/12/2015 10:47:54 PM 
DB UTC Date: 4/12/2015 10:48:21 PM

L'exécution du même code sur mon ordinateur local indique correctement le même temps.

L'heure renvoyée lors de l'exécution de GETDATE () directement sur le serveur du produit s'aligne sur l'heure du serveur.

Qu'est-ce qui pourrait causer cela et comment pourrais-je y remédier?

Réponse acceptée

La machine qui exécute le code C # et la machine qui exécute SQL Server ont une différence dans les horloges système.

Il y aura toujours une légère différence, mais une différence aussi grande que celle-ci est causée par une ou les deux machines qui ne parviennent pas à obtenir l'heure correcte à partir d'une source Internet.

Dans les paramètres Date et heure, dans l'onglet Heure Internet, vous trouvez les paramètres pour obtenir l'heure d'une source Internet et vous verrez quand le serveur a réussi à obtenir une mise à jour pour la dernière fois. Si le serveur de temps choisi ne fonctionne pas correctement, choisissez un serveur de temps différent.




Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi