日本語版の SQL Server Management Studio をインストールしているにもかかわらず、英語版の SSMS が起動するようになった場合の回避方法です。
私の場合は、Azure の SQL Server インストール済み VM の展開をしていて、
- 初期で導入されている英語版の SSMS を起動
- 英語版の SSMS をアンインストールし日本語版の SSMS をインストール
- SSMS を起動しても英語版の UI で起動してしまう
というような状態になってしまい、これを修正した際の方法となります。
レジストリとファイル削除を実施していますので、本投稿を元に作業を実施される際には自己責任で対応をお願いします。
SSMS は起動するとレジストリとユーザープロファイル配下に言語の設定を含んだファイル / レジストリを構成します。
SSMS の Tools → Options の Internatiolan Settings には、UI の言語の指定があり、この指定は最初に SSMS を起動した際に設定が行われています。
そのため、英語版の SSMS で起動を行った場合は HKCU のレジストリには、英語版の UI を使用するという設定が登録された状態となります。
キーの場所としては「HKEY_CURRENT_USER\Software\Microsoft\SQL Server Management Studio\18.0_IsoShell\General」の「UILanguage」辺りになるかと。
他にもユーザープロファイル配下のファイル群なども関係しており、レジストリ / ユーザープロファイルのローミングの内容によっては、英語版の UI で起動するようになるかと。
ということで、今回は次のような作業を実施し、SSMS についての情報を初期化したところ、日本語版の UI で起動しました。
- レジストリエディタで「HKEY_CURRENT_USER\Software\Microsoft\SQL Server Management Studio」を削除
- %USERPROFILE%\AppData\Local\Microsoft\SQL Server Management Studio のディレクトリを削除
- %USERPROFILE%\AppData\Roaming\Microsoft\SQL Server Management Studio のディレクトリを削除
SSMS のデフォルトの UI の設定は「Microsoft Windows と同じ」になっていますので、SSMS の構成情報を初期化することで日本語の UI で起動しました。
SSMS のツール →設定のインポートとエクスポートから、「すべての設定をリセット」を使用することで、SSMS の設定をクリアすることもできるのですが、今回は「%USERPROFILE%\AppData\Local\Microsoft\SQL Server Management Studio\18.0_IsoShell」のディレクトリ内に、 1041 ではなく、1033 のディレクトリが作成されていたため、「最初に英語版の SSMS を起動したこと、デフォルトの設定が変わったのかな?」という予測がついたので設定のリセットは使いませんでした。(リセットで治るかもしれませんが)
「C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\ja」が存在する場合、日本語版のインストーラーをし使用してインストールが行われており、日本語 UI 用のリソースは存在しているはずですので、このような状態で日本語 UI が起動しない場合は、SSMS の初期化や、SSMS の設定として国際対応の言語設定がありますので、その設定を変更してみるというようなことを試してみると良いのではないでしょうか。