レポートの「Refresh Aggregated Data」オプションが、最小限のSQL権限で実行できない


説明

Sitecoreコントロール パネルにおけるレポートの[Refresh Aggregated Data]オプションを使用する際に、次のエラーが発生する場合があります。

System.ExceptionMessage: Cannot find the object "Cache_TrafficByDay" because it does not exist or you do not have permissions.
Source: Sitecore.Kernel
at Sitecore.Data.DataProviders.Sql.DataProviderCommand.ExecuteNonQuery()
at Sitecore.Data.DataProviders.Sql.SqlDataApi.Execute(Stringsql, Object[] parameters)
at Sitecore.Analytics.Data.DataAccess.DataAdapters.Sql.SqlMaintenance.UpdateReportsSummary()
at Sitecore.Shell.Applications.Analytics.Reports.Summary.UpdateForm.UpdateReportsRunner.Run()

Nested Exception Exception: System.Data.DataExceptionMessage: Error executing SQL command: execsp_sc_refresh_views

上記のエラーは、対応するストアド プロシージャを実行するために必要なアクセス許可がSQLアカウントにない場合に発生します。例えば、「db_datareader」および 「db_datawriter」アクセス許可のみを持つアカウントを使用してSQL Server Analyticsデータベースに接続するようにシステムが構成されている場合などです。

解決策

解決策 1:

「db_owner」ロールをSQLユーザー アカウントに割り当てます。

解決策 2:

SQLユーザー アカウントに「Execute」権限と「Alter any Schema」権限を割り当てます。