💻

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

2022/01/01に公開約900字

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

ログインするとコメントできます