Sql-Server

將數據移動到報表伺服器/數據倉庫時是否應該轉換時區

  • October 21, 2015

我正在編寫一個 SSIS 包以將數據從生產數據庫傳輸到報告伺服器/數據倉庫。我的報告伺服器上的其他數據庫都在山區時間,但是這個數據庫是 UTC,我應該在使用 SSIS 導入數據時轉換數據,還是應該保持數據原樣並跟踪伺服器的時區數據在我的查詢中並處理它?複製數據時是否有理由不轉換數據?

是的,有理由轉換時區,並保持 UTC 時間。UTC 時間可以即時轉換為任何給定的時區(時區偶爾會發生變化,夏令時規則會更頻繁地變化)。UTC 始終準確,而當您重複特定小時時,允許夏令時的時區和地區在“回退”期間重疊。為自己省去很多麻煩,並將數據保持在目前、更準確的格式中。

出於高效搜尋的目的,首先將傳入的時間範圍轉換為 UTC,或者創建一個表示山區時間的非持久計算列(請務必查找管理 DST 開始/結束日期的歷史規則)並創建一個 NonClustered該計算列的索引。

引用自:https://dba.stackexchange.com/questions/118785