💻

SharePoint 2013 の Excel Services で「ブックを開くことができません」と出る場合の対処方法

2022/01/01に公開

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