📝
SharePoint 2013 の Excel Services で「ブックを開くことができません」と出る場合の対処方法
SharePoint 2013 ではアップロードした Excel ファイルを Excel Services によってブラウザーで開くことができます。しかし、Excel ファイルを開こうとすると ブックを開くことができません というエラーになる場合があります。
サーバーのイベント ログには以下のようなメッセージが出力されます。
SQL Server インスタンス '{{instance-name}}' の SQL データベース "{{database-name}}" が見つかりません。SQL Server のエラー情報は、以下を参照してください。
このログインで要求されたデータベース "{{database-name}}" を開けません。ログインに失敗しました。
ユーザー '{{account-name}}' はログインできませんでした。
この現状は以下の条件の場合に発生します。
- Excel Services をファーム管理者以外のアカウントで実行している。
- 初期インストール後に既定の Web アプリケーションを再作成している。
エラー メッセージにもあるように、サービス アカウントがコンテンツ データベースにログインできないことが原因です。
対応方法としては PowerShell で以下のコマンドを実行します。
$app = Get-SPWebApplication -Identity "{{web-application-url}}"
$app.GrantAccessToProcessIdentity("{{account-name}}")
実行すると Web アプリケーション所有するすべてのコンテンツ データベースにアクセス権限が付与されます。
ちなみにコンテンツ データベースを追加すると追加したコンテンツ データベースに対して同じ現象が発生します。その場合はもう一度同じコマンドを実行する必要があります。
Discussion