Dal momento che stai chiedendo soluzioni alternative...
Fondamentalmente ignoriamo totalmente l'ora del server/il fuso orario del database e lavoriamo interamente al di fuori dell'UTC. GetUtcDate()
ad esempio per tutte le colonne "DateCreated". Dal momento che ci siamo impegnati in questo approccio, non ci imbattiamo in alcun problema.
Se è necessario memorizzare il fuso orario insieme ai dati della data, è possibile utilizzare DateTimeOffset.
L'unico avvertimento è che i piani di manutenzione verranno eseguiti in base all'orario del server. Questo non è stato un problema perché normalizziamo tutto all'ora locale (che non è UTC e non l'ora del server) in nessuno dei nostri programmi di calendario.