Vous trouverez ci-dessous ce que j'ai reconstitué, mais je voulais voir d'autres moyens disponibles.
SET NOCOUNT ON;
GO
DECLARE @tz VARCHAR(50)
EXEC [master].[dbo].[xp_regread]
'HKEY_LOCAL_MACHINE'
,'SYSTEM\CurrentControlSet\Control\TimeZoneInformation'
,'TimeZoneKeyName'
,@tz OUT;
SELECT
GETDATE()
,'(' + LEFT(PARSENAME(REPLACE(@tz, ' ','.'),3),1)
+ '' + LEFT(PARSENAME(REPLACE(@tz, ' ','.'),2),1)
+ '' + LEFT(PARSENAME(REPLACE(@tz, ' ','.'),1),1) +')'
Sortie: 2014-10-14 16: 22: 21.037 (CST)
sql-server
timezone
Samson J. Loo
la source
la source
Réponses:
La lecture de la clé de registre avec ceci ou SQLCLR est la seule manière correcte que je connaisse (je créerais personnellement un travail qui met à jour une table au lieu d'activer xp_regread cependant.).
Ce script PowerShell est un exemple de mise à jour d'une table de configuration avec ces informations.
Tous les autres systèmes avec décalage, etc. donnent des résultats incorrects.
la source