📝
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