📝

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