2009-04-01 8 views
0

J'ai une colonne datetime dans une table appelée 'createdDate' dont la valeur par défaut est getutcdate(). Cependant, lorsqu'une ligne est ajoutée à la table, la valeur de temps de createdDate est 1 heure après l'heure système. Donc, ma question est comment puis-je augmenter l'horodatage actuel du système de base de données d'une heure?SQL Server time 1 hour behind

Merci d'avance.

Répondre

2

Il semble que vos serveurs soient conscients de l'heure d'été (GMT, BST, etc.) et votre base de données utilise résolument l'UTC.

Utilisez GetDate() si vous voulez que vos dates dans la base de données pour correspondre le temps de la base de données serveur.

Vous pouvez également désélectionner la case à cocher "Ajuster automatiquement l'horloge pour les changements d'heure d'été" dans les propriétés Date et Heure de votre serveur et continuer à utiliser GetUtcDate().

0

Le serveur de base de données se trouve probablement dans un fuseau horaire décalé d'une heure par rapport à l'heure UTC. Jetez un oeil aux entrées MSND pour GetDate() et GetUtcDate(), respectivement.

0

Vous devez toujours vous assurer que votre serveur et votre base de données s'accordent sur les fuseaux horaires et les modifications de l'heure d'été. IMO vous devriez toujours régler sur UTC, car cela vous isole de toutes les erreurs subtiles à la suite de changements DST disparates (comme ce qui s'est passé aux États-Unis l'an dernier).