PowerPivot for Excel: SQL Server 認証ユーザーのパスワード保存について

小林 真治
SQL Developer Support Escalation Engineer

今回は PowerPivot for Excel のデータソースへの接続に SQL Server 認証を利用した場合の注意点についてお知らせしたいと思います。

 

 ご存じの通り、 PowerPivot for Excel のデータソースとして SQL Server データベース エンジンを利用することができます。

SQL Server データベース エンジン への接続の際に、Windows認証/SQL Server 認証の二つの認証方式を利用することができますが、SQL Server 認証を利用した場合、下記の注意点があります。

注意点1: PowerPivot for Excel で SQL Server 認証で利用するパスワードを保存する設定にしてもブックに保存されなくなりました。

注意点2: Excel 2013 にだけブックへのパスワード保存機能が追加されています。

注意点3: Excel 2013 では SQL Server 認証のユーザーの設定を変更する手順がパスワード保存の設定によって異なります。

PowerPivot for Excel で SQL Server 認証で利用するパスワードが保存されない動作について

  ■ バージョン組み合わせ

PowerPivot for Excel の内部では、  Analysis Services xVelocity メモリ内分析エンジンが動作しています。 この分析エンジンは、 PowerPivot のエンジンとして機能しますが、現在、PowerPivot for Excel では、SQL Server 2008 R2 と SQL Server 2012 の二つのエンジンを利用できます。
一方、Excel がサポートする PowerPivot for Excel のバージョンは、 Excel 2010 と Excel 2013 があります。
現時点 (2013/04) で利用できる組み合わせは次の通りです。
 

参考: Excel 2010 と Excel 2013 の PowerPivot データ モデルの間のバージョン互換性
https://office.microsoft.com/ja-jp/excel-help/HA103929426.aspx?CTT=3

■ SQL Server 認証で利用するパスワードを保存する動作の違い

この二つのエンジンを利用する際に、内部的なセキュリティの変更により、 SQL Server 認証として指定したユーザーのパスワードを保存する動作に違いが生じます。
具体的には、PowerPivot ウィンドウでデータソース設定の "パスワードを保存する" のチェックを付けた時、 SQL Server 2008 R2 のエンジンを利用するアドインの場合、ブックにもそのままパスワードを保存できますが、 SQL Server 2012 のエンジンを利用するアドインの場合、ブックにはパスワードは保存されません。
パスワードが保存されていない場合、「データの更新」などデータソースへアクセスするタイミングで、利用する SQL Server 認証のユーザーのパスワードの入力を求めるダイアログが出力されます。

Excel 2013 に追加されたパスワード保存機能について

ブックへのパスワード保存の可否の違い

SQL Server 2012 の分析エンジンを使用した場合には、ブックにはパスワードを保存できないのでしょうか。

残念ながら、 SQL Server 2012 PowerPivot for Excel 2010 においては、パスワードを保存する機能がありません。
SQL Server 2012 PowerPivot for Excel 2010 を利用する場合、SQL Server 認証のユーザーのパスワードを毎回入力する対処、または、パスワードの入力を求められない(パスワード入力を抑制できる) Windows 認証による接続を利用することを検討してください。

一方で、Excel 2013 においては、アドインではなく、 Excel 側でパスワードを保存できる機能追加がなされています。

このため、利用する SQL Server 認証のユーザーのパスワードの入力を求めるダイアログの出力を抑制できるか、という観点で見た場合、利用する PowerPivot for Excel により下記の違いがあります。

 

 
■ Excel 2013 におけるパスワードの保存方法について

Excel 2013は、 SQL Server 認証のユーザーが利用するパスワードを Excel 側で保存するように機能追加されたことをお伝えしました。
以降では、 Excel 2013 のパスワードの保存方法と考慮点をご紹介します。

新規に Excel 2013 のブックを作成した際に SQL Server 認証が利用するユーザーのパスワードを保存するためには、下記の二つを実施します。

・PowerPivot ウィンドウ上のデータソースの設定において「パスワードを保存する」を有効にする。

・Excel のデータソースの設定において「パスワードを保存する」を有効にする。

 
上記二つの操作を実行することで、SQL Server 認証で利用するユーザーのパスワードを保存することが可能です。

この操作を実施し、パスワードを保存した場合、Excel 側のデータソースの設定に SQL Server 認証で利用するユーザーのパスワードが表示されますので、ご注意ください。
 

Excel 2013 における SQL Server 認証で利用するユーザーの変更方法について

■ SQL Server 認証を利用する異なるユーザーへの変更

Excel 2013 の PowerPivot がデータソースに接続する際に利用する SQL Server 認証ユーザーを別の SQL Server 認証ユーザーに変更する場合、Excel と PowerPivot 間で、変更対象の SQL Server 認証ユーザーの情報を共有する必要があります。

この情報を共有させるための手順が、 Excel/PowerPivot のパスワードの保存の設定の違い、並びに、Book を新規作成/既存の Book を開くの操作の違いにより、異なります。

( * 下記の図はクリックすると大きくなります。 )

 

■ Windows 認証への変更

Excel 2013 の PowerPivot がデータソースに接続する際に利用する認証方法を SQL Server 認証から Windows 認証に変更する場合においても、 Excel と PowerPivot 間で、変更された認証情報について共有する必要があります。

この情報を共有させるための手順が、 Excel/PowerPivot のパスワードの保存の設定の違い、並びに、Book を新規作成/既存の Book を開くの操作の違いにより、異なります。

( * 下記の図はクリックすると大きくなります。 )

 

 

PowerPivotForExcel.zip