SQL Server の CU を適用すると SQL Server Native Client のメッセージが英語になる

現象

SQL Server 2005 / 2008 / 2008 R2 の累積的な更新プログラム パッケージ (Cumulative Update Package: 以降 CU) を適用すると、SQL Server Native Client のメッセージが英語になることがあります。

本事象により、BCP.EXE など SQL Server Native Client を使用するアプリケーションでは、SQL Server Native Client から返されるメッセージが英語になります。

なお、メッセージが英語になることを除き SQL Server Native Client の動作に支障はありません。

原因

本事象は、CU の適用により、SQL Server Native Client の英語版リソース ファイルが使用されるようになることが原因です。

緊急性の高い CU は英語版のみを用意することを必須としているため、CU では各国語のリソースを用意していないものがございます。
英語リソースのみの CU を適用しますと、次の動作となります。

SQL Server 2005 では、次のリソース ファイルが英語版に置き換わります。

  C:\Windows\System32\sqlnclir.rll

SQL Server 2008 / 2008 R2 では、次の日本語リソース ファイルが削除されます。

  C:\Windows\System32\1041\sqlnclir10.rll

解決方法

事象が生じた環境と同一の SQL Server の Service Pack、または、より上位バージョンの Service Pack の SQL Server Feature Pack の SQL Server Native Client のパッケージから、SQL Server Native Client のリソース ファイルを取り出し対象環境にコピーします。

SQL Server 2005 の場合

SQL Server 2005 用 Feature Pack - 2008 年 12 月を例に、手順を以下に記載します。

1) 次のサイトから sqlncli.msi をダウンロードします。

   Microsoft SQL Server 2005 用 Feature Pack - 2008 年 12 月
   http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=536FD7D5-013F-49BC-9FC7-77DEDE4BB075

2) コマンド プロンプトから次のコマンドを実行し、ファイルを展開します。(c:\snac9 フォルダが存在しない場合は自動生成されます。) 

   msiexec /a sqlncli.msi targetdir=c:\snac9 /qn

3) 展開された次の sqlnclir.rll を、対象環境の C:\Windows\System32 フォルダに上書きコピーします。

   C:\snac9\System\sqlnclir.rll

SQL Server 2008 / 2008 R2 の場合

SQL Server 2008 Service Pack 2 Feature Pack を例に、手順を以下に記載します。

1) 次のサイトから sqlncli.msi をダウンロードします。

   Microsoft SQL Server 2008 Service Pack 2 Feature Pack
   http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=1b2bd555-cb5b-47b9-88c7-3f89f3b43779

2) コマンド プロンプトから次のコマンドを実行し、ファイルを展開します。(c:\snac10 フォルダが存在しない場合は自動生成されます。)

   msiexec /a sqlncli.msi targetdir=c:\snac10 /qn

3) 展開された次の 1041 フォルダごと、対象環境の C:\Windows\System32\1041 フォルダに上書きコピーします。

   C:\snac10\Windows\System32\1041
プロパティ

文書番号:2716681 - 最終更新日: 2016/09/29 - リビジョン: 1

フィードバック