SQL Server Lavoro/Orari - noi contro di regolazione del Regno Unito ora legaleSQL Server Lavoro/Orari - noi contro di regolazione del Regno Unito ora legale
Abbiamo un assistente sede nel Regno Unito che ha bisogno di eseguire un processo di SQL Agent alle 16: 30 (ora centrale degli Stati Uniti - questo può sembrare strano ma a causa della disponibilità di alcuni dati). Di solito questo non sarebbe un problema perché la differenza di fuso orario tra il Regno Unito e gli Stati Uniti è di 6 ore, quindi programmiamo il nostro lavoro per le 22:30.
Ma poiché Regno Unito e Stati Uniti regolano i loro orologi in momenti diversi a marzo e novembre per l'ora legale, c'è un periodo di 2 settimane in cui la differenza di fuso orario tra Regno Unito e Stati Uniti è di 5 ore.
Vorrei implementare un modo in cui SQL Server potrebbe identificare questo cambiamento di differenza di orario e quindi riprogrammare il lavoro in modo autonomo utilizzando qualcosa come sp_update_schedule.
Un approccio che ho è quello di ottenere il timestamp corrente su un server basato negli Stati Uniti e quindi confrontarlo con l'attuale ora del Regno Unito. Se la differenza di orario è 5 ore, quindi riprogrammare il lavoro alle 21:30, se la differenza di orario è 6 ore, quindi riprogrammare il lavoro alle 22:30.
Ma può comunque suggerire un'altra soluzione, forse una che non implichi ottenere il timestamp corrente sul server con sede negli Stati Uniti e idealmente non dover memorizzare un elenco di date di regolazione dell'ora legale in una tabella. Qualcosa di più dinamico forse?
di SQL 'GETUTCDATE' potrebbe essere utile – Paddy