Microsoftは8月18日(米国時間)、SQL Serverサポートブログにおいて、Microsoft SQL Serverの更新プログラムを適用するとbcp.exeの出力メッセージが英語になる可能性があると報じた。

更新プログラムにODBCドライバーの英語版インストーラーが含まれており、更新処理中に日本語リソースファイルを削除することが原因とされる。同社は日本語に戻したいユーザーに対し、手動による修正手順をアナウンスしている。

  • 更新プログラム適用後、bcp.exe の出力メッセージが英語になる|Microsoft Community Hub

    更新プログラム適用後、bcp.exe の出力メッセージが英語になる | Microsoft Community Hub

手動による修正手順

Microsoftが公開した修正手順はシンプルで、日本語版ODBCドライバーから日本語リソースを取り出し、適切なフォルダーに配置する方法となる。具体的な手順は次のとおり。なお、この手順はバージョン17.10.6.1をインストールしているユーザーを対象としており、他のバージョンをインストールしているユーザーは、適切なバージョンに読み替えて作業する必要がある。

  1. ODBC Driver for SQL Server のダウンロード - ODBC Driver for SQL Server | Microsoft Learn」から、適切なアーキテクチャーのMicrosoft ODBC Driver 17.10.6.1 for SQL Server(日本語)をダウンロードする
  2. ダウンロードしたファイル「msodbcsql.msi」を任意の作業フォルダーに移動する。ここでは作業フォルダーの絶対パスを「C:\WORKDIR」と仮定する
  3. 管理者権限のコマンドプロンプトを開く
  4. コマンド「msiexec /a "C:\WORKDIR\msodbcsql.msi" /qb targetdir="C:\WORKDIR\msodbcsql_msi"」を実行する
  5. フォルダー「C:\Windows\System32\1041」が存在するか確認し、存在しない場合は作成する
  6. ファイル「C:\WORKDIR\msodbcsql_msi\Windows\System32\1041\msodbcsqlr17.rll」を「C:\Windows\System32\1041\」にコピーする

以上で修正作業は完了となる。作業後は出力メッセージが日本語に修正されているか確認することが推奨されている。修正前と修正後のサンプルは次のとおり。

  • 修正前(上)と修正後(下)の出力メッセージの例 出典:Microsoft

    修正前(上)と修正後(下)の出力メッセージの例 出典:Microsoft

更新プログラムのナレッジベース番号は非公開

ブログでは更新プログラムのナレッジベース(KB: Knowledge Base)番号などを公開していない。つまり、今後も同様の不具合が続く可能性を示唆しており、ユーザーはその都度対策する必要があるものとみられる。

そこで今回の作業でコピーした日本語リソースファイル「msodbcsqlr17.rll」をバックアップしておき、同一バージョンの更新プログラム適用後に毎回手動で再配置することが推奨される。