2017-08-21 12 views
1

私たちが見ているバグの最も一般的な理由は、紺碧のデータベースとweb-app-serviceの時間の間に差異があるようです。Azureのポータルではどこにサーバーの時刻を取得できますか?

私が遠隔のデスクトップに乗り込むことができた昔、私はこれらが何であるかを確認する方法を知っています。私は今日どのように伝えることができますか?

アクティビティログを見て、GETDATE()を使用すると、夏時間(BST)の不一致があるようです。これをどうやって変えるのですか? (ここではforst質問に対する答えがあると確信していると仮定します)

答えて

1

すべてのAzure SQLデータベースは、日付と時刻にUTCを使用しています。 GETDATEまたはGETUTCDATEの値を同じにする必要があります。それはBSTの不一致を説明するでしょう。

2

SQL Azureデータベースは常にUTC時間を使用します。そのため、datetimeデータ型は使用しないでください。代わりにdatetimeoffsetを使用してください。

また、getdate()を使用する代わりにsysdatetimeoffset()を使用してシステム日付を取得する必要があります。

データベーステーブルから日付を取得するときは、hereのように "AT TIME ZONE"を使用する必要があります。

0

Azure App ServiceのWebAppタイムゾーンについても触れたので、Azure WebAppのデフォルトでは、タイムゾーンは常にUTCですが、変更することができます。

また、レジストリ のHKEY_LOCAL_MACHINE¥SOFTWARE¥Microsoft¥WindowsNT¥CurrentVersion¥Time Zonesにもリストがあります。文字列が認識されない場合は、UTCに戻ります。

それが機能することをテストする最も良い方法は、時刻をKudu consoleから入力することです。

例:あなたは、問題のタイムゾーンの名前と同じ「WEBSITE_TIME_ZONE」という名前Azureのポータルを介してアプリケーションの設定を追加することができます

WEBSITE_TIME_ZONE =東部標準時 WEBSITE_TIME_ZONE = AUS東部標準時

(基本的に、HKLM \ Software \ Microsoft \ WindowsのNt \ CurrentVersion \ Timeゾーンのキー名と同じ文字列)。

詳しくは、この特定の設定についてお伝えするGitHub linkを参照してください。

関連する問題