Unten ist, was ich zusammengesetzt habe, aber ich wollte sehen, welche anderen Möglichkeiten zur Verfügung stehen.
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) +')'
Ausgabe: 2014-10-14 16: 22: 21.037 (CST)
sql-server
timezone
Samson J. Loo
quelle
quelle
Antworten:
Das Lesen des Registrierungsschlüssels mit diesem oder SQLCLR ist der einzig richtige Weg, den ich kenne (ich persönlich würde einen Job erstellen, der eine Tabelle aktualisiert, anstatt xp_regread zu aktivieren).
Dieses Powershell-Skript ist ein Beispiel für das Aktualisieren einer Konfigurationstabelle mit diesen Informationen.
Alle anderen Systeme mit Offset usw. liefern falsche Ergebnisse.
quelle