私はウェブを通じてこのトピックを調査しましたが、決定的な答えを見つけることができません。
私たちのサーバーチームは最近、SQL ServerのVMをWin 2003からWin 2012にアップグレードしました。
私たちの地域では、社内で構築されたすべてのアプリをen-ZAの下で実行しています。
ただし、SQL Server 2012をen-US設定のアカウントで実行する必要がある場合の回避策があります。これは、従来のメタストームワークフローアプリケーションをサポートするためのものです。
この問題は、SQLサーバーエージェントジョブがコンソールアプリ(en-ZA)をトリガーして、大きな金額の値を含むコンマ区切りファイルを生成するときに発生します。
エージェントはen-USで実行されているため、アプリは「SOMEWHERE」になり(編集可能なOSストアの一種であると期待しています)、Win 2003以降に変更された「DEFAULT」のen-ZA設定を取得します。
コンマで区切られたファイルに、「DOT」ではなく「COMMA」の小数点記号が追加されました。以前のWin 2003バージョンには、大きな金額値用の「DOT」小数点区切りがありました。
金額のカンマは、別のインポーターアプリで問題を引き起こします。
問題は、リージョンのデフォルト値がどこに保存されているかです。そして、それらはどのように変更できますか? en-ZAのデフォルト設定をWin 2003の状態に戻すことができるように、これを知る必要があります。
アカウントの地域設定をカスタマイズできることは知っていますが、実際のデフォルトのen-ZA設定をどのように変更できますか。
これを理解できれば、グループポリシーで修正できるかもしれません。
地域設定はユーザーごとに適用されます。システムアカウントについては、登録を介して変更できます。 ここ を参照してください
HKEY_USERS/.DEFAULT/International/sDecimalキーを変更します
あなたが探しているのは「地域設定」です。
Server 2012では(少なくとも米国英語では)、[スタート]メニューを開いて「Regional」と入力することでアクセスできます。これは設定の下にあり、Change date, time or number formats
というタイトルのアイテムが表示されます。
をクリックした場合 Additional settings... ボタン、次に Currency タブで、フォーマットをカスタマイズし、「10進記号」や「桁区切り記号」をSQLサーバーで問題を起こさないものに変更できます。
GPOを使用してこれを変更する場合、または実際のレジストリ値を編集する場合は、 そのようにする方法に関するtechnetブログ を参照してください。これは、コンピューターグループポリシーの基本設定レジストリコレクション(Computer Configuration
-> Preferences
-> Windows Settings
-> Registry
)を介して行われ、必要なレジストリサブキーはHKEY_CURRENT_USER\Control Panel\International
。