Power Pivot Data Refresh with SharePoint 2013
Applies To: SQL Server 2016
The design for refresh of Power Pivot data models in SharePoint 2013 utilizes Excel Services as the primary component to load and refresh data models on an instance of SQL Server 2016 Analysis Services running in SharePoint mode. The Analysis Services server runs external to the SharePoint farm. The architecture in SharePoint 2013 Excel Services supports both interactive data refresh and scheduled data refresh.
Applies to: SharePoint 2013
In this topic:
SharePoint Server 2013 Excel Services manages data refresh for Excel 2013 workbooks and triggers the data model processing on a SQL Server 2016 Analysis Services server that is running in SharePoint mode. For Excel 2010 workbooks, Excel Services also manages the loading and saving of workbooks and data models. However, Excel Services relies on the Power Pivot System Service to send the processing commands to the data model. The following table summarizes the components that send processing commands for data refresh depending on the version of the workbook. The assumed environment is a SharePoint 2013 farm configured to use a SQL Server 2016 Analysis Server running in SharePoint mode.
|Excel 2013 Workbooks||Excel 2010 Workbooks|
|Trigger Data Refresh||Interactive: Authenticated User|
Scheduled: Power Pivot System Service
|Power Pivot System Service|
|Load Workbook from Content Databases||SharePoint 2013 Excel Services||SharePoint 2013 Excel Services|
|Load Data model on Analysis Services instance||SharePoint 2013 Excel Services||SharePoint 2013 Excel Services|
|Send Processing Commands to Analysis Services instance||SharePoint 2013 Excel Services||Power Pivot System Service|
|Update Workbook Data||SharePoint 2013 Excel Services||SharePoint 2013 Excel Services|
|Save Workbook and Data model to Content Database||Interactive: N/A|
Scheduled: SharePoint 2013 Excel Services
|SharePoint 2013 Excel Services|
The following table summarizes the supported refresh features in a SharePoint 2013 farm configured to use a SQL Server 2016 Analysis Server running in SharePoint mode:
|Workbook created in||Scheduled data refresh||Interactive refresh|
|2008 R2 Power Pivot for Excel||Not supported. Upgrade the workbook (*)||Not supported. Upgrade the workbook (*)|
|2012 Power Pivot for Excel||Supported||Not supported. Upgrade the workbook (*)|
(*) For more information on workbook upgrades, see Upgrade Workbooks and Scheduled Data Refresh (SharePoint 2013).
Interactive, or manual data refresh in SharePoint Server 2013 Excel Services can refresh data models with data from the original data source. Interactive data refresh is available after you configure an Excel Services application by registering an Analysis Services server, running in SharePoint mode. For more information, see Manage Excel Services data model settings (SharePoint Server 2013) (http://technet.microsoft.com/library/jj219780.aspx).
Interactive refresh key point of interest:
Interactive data refresh only refreshes the data in the current user session. The data is not automatically saved back to the workbook item in the SharePoint content database.
Credentials: Interactive data refresh can use the identity of the currently logged-on user as credentials or stored credentials to connect to the data source. The credentials used depend on the Excel Services Authentication Settings defined for the workbook connection to the external data source.
Supported Workbooks: Workbooks created in Excel 2013.
To refresh data:
- See the illustration that follows the steps.
In a SharePoint document library, open a Power Pivot workbook in the browser.
In the browser window, click the Data menu and then click Refresh Selected Connection or Refresh All Connections.
Excel Services loads the Power Pivot database, processes it and then queries it to refresh the Excel workbook cache.
Note: The updated workbook is not automatically saved back to the document library.
Excel Services sends the Analysis Services server a process command that instructs the server to impersonate a user account. To obtain system rights sufficient to perform the user impersonation-delegation process, the Analysis Services service account, requires Act as part of the operating system privilege on the local server. The Analysis Services server also needs to be able to delegate the user's credentials to data sources. The query result is sent to Excel Services.
Typical user experience: When a customer selects “Refresh All Connections” in an Excel 2013 workbook that contains a Power Pivot model, they see an error message similar to the following:
- External Data Refresh Failed: An error occurred while working on the Data Model in the workbook. Please try again. We are unable to refresh one or more data connections in this workbook.
Depending on the data provider you are using, you see messages similar to the following in the ULS log.
With the SQL Native Client:
- Failed to create an external connection or execute a query. Provider message: Out of line object 'DataSource', referring to ID(s) '20102481-39c8-4d21-bf63-68f583ad22bb', has been specified but has not been used. OLE DB or ODBC error: A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online.; 08001; SSL Provider: The requested security package does not exist ; 08001; Client unable to establish connection; 08001; Encryption not supported on the client.; 08001. , ConnectionName: ThisWorkbookDataModel, Workbook: book1.xlsx.
With the Microsoft OLE DB Provider for SQL Server:
- Failed to create an external connection or execute a query. Provider message: Out of line object 'DataSource', referring to ID(s) '6e711bfa-b62f-4879-a177-c5dd61d9c242', has been specified but has not been used. OLE DB or ODBC error. , ConnectionName: ThisWorkbookDataModel, Workbook: OLEDB Provider.xlsx.
With the .NET Framework Data Provider for SQL Server:
- Failed to create an external connection or execute a query. Provider message: Out of line object 'DataSource', referring to ID(s) 'f5fb916c-3eac-4d07-a542-531524c0d44a', has been specified but has not been used. Errors in the high-level relational engine. The following exception occurred while the managed IDbConnection interface was being used: Could not load file or assembly 'System.Transactions, Version=126.96.36.199, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. Either a required impersonation level was not provided, or the provided impersonation level is invalid. (Exception from HRESULT: 0x80070542). , ConnectionName: ThisWorkbookDataModel, Workbook: NETProvider.xlsx.
Summary of Configuration Steps To configure Act as part of the operating system privilege on the local server:
On the Analysis Services Server running in SharePoint mode, Add the Analysis Services service account to the "Act as part of the operating system" privilege:
Click Local Security Policy, then click Local policies, and then click User rights assignment.
Add the service account.
Restart Excel Services and reboot the Analysis Services server.
Delegation from the Excel Services service account or from Claims to Windows token service (C2WTS) to the Analysis services instance is not required. Therefore no configuration for KCD from Excel Services or C2WTS to Power Pivot AS service is necessary. If the backend data source is on the same server as the Analysis Services instance, Kerberos Constrained Delegation is not required. However, the Analysis Services service account requires the right to Act As Part Of The Operating System.
For more information, see Act as part of the operating system (http://technet.microsoft.com/library/cc784323(WS.10).aspx).
Scheduled data refresh key points of interest:
Requires the deployment of the Power Pivot for SharePoint add-in. For more information, see Install or Uninstall the Power Pivot for SharePoint Add-in (SharePoint 2013).
A user configures a refresh schedule for a workbook. At the scheduled time, the Power Pivot System Service sends a request to Excel Services to:
Load and process the Power Pivot database.
Refresh the workbook.
Save the workbook back to the content database.
Credentials: Uses stored credentials. Does not use the identity of the current user.
Supported Workbooks: Workbooks created using the SQL Server 2012Power Pivot add-in for Excel 2010 or using Excel 2013. Workbooks created in Excel 2010 with the SQL Server 2008 R2Power Pivot add-in are not supported. Upgrade the workbook to at least the SQL Server 2012Power Pivot format. For more information on workbook upgrades, see Upgrade Workbooks and Scheduled Data Refresh (SharePoint 2013).
To display the Manage Data Refresh page:
- See the illustration that follows the steps.
In a SharePoint document library, click the Open menu (...) for a Power Pivot workbook.
Click the second Open menu and then click Manage Power Pivot Data Refresh.
On the Manage Data Refresh page, click Enable and then configure the refresh schedule.
At the specified time, the Power Pivot System Service sends a request to Excel Services to:
Load and process the Power Pivot data model.
Refresh the workbook.
Save the workbook back to the content database.
The following illustration summarizes the data refresh architecture in SharePoint 2013 and SQL Server 2012 SP1.
|(1)||Analysis Services Engine||An SQL Server 2016Analysis Services server that is running in SharePoint mode. The server runs outside of the SharePoint farm.|
|(2)||User Interface||The user interface is comprised of two pages. One to define the schedule and the second to view the refresh history. The pages do not directly access the Power Pivot Service application databases but use the Power Pivot system service to access the databases.|
|(3)||Power Pivot System Service||The service is installed when you deploy the Power Pivot for SharePoint add-in.|
The service is used for the following:
|This service hosts the refresh scheduling engine, which calls Excel Services APIs for data refresh of Excel 2013 workbooks. For Excel 2010 workbooks, the service directly performs the data model processing but continues to reply on Excel Services for loading the data model and updating the workbook.|
|This service provides methods for components such as the user interface pages, to communicate with the system service.|
|Manages requests for external access to workbooks as a data source, received through the Power Pivot Web Service.|
|Scheduled data refresh request management for timer jobs and configuration pages. The service manages requests to read data in and out of the service application database and trigger data refresh with Excel Services.|
|Usage processing and related timer job.|
|(4)||Excel Calculation Services||Responsible for loading the data models.|
|(5)||Secure Store Service||If the authentication settings in the workbook are configured to Use the authenticated user’s account or None, the credentials stored in the Secure Store target application ID are used for data refresh. For more information, see the Additional Authentication Considerations section in this topic.|
|(6)||Power Pivot data refresh timer Job||Instructs the Power Pivot system service to connect with Excel Services for refreshing data models.|
Analysis Services requires appropriate data providers and client libraries so that the Analysis Services server in SharePoint mode can access data sources.
Usage Data: You can view data refresh usage data in the Power Pivot Management Dashboard. To see the usage data:
In SharePoint Central Administration, click Power Pivot Management Dashboard in the General application settings group.
At the bottom of the dashboard, see the Data Refresh – Recent Activity and Data Refresh – Recent Failures.
For more information on usage data and how to enable it, see Power Pivot Management Dashboard and Usage Data.
Diagnostic log data: You can view SharePoint diagnostic log data related to data refresh. First, verify the configuration of diagnostic logging for the Power Pivot Service in SharePoint Central Administration Monitoring page. You may need to increase the level of logging for the “least critical event” to log. For example, temporarily set the value to Verbose and then rerun data refresh operations.
The log entries contain:
The Area of Power Pivot Service.
The category of Data Refresh.
Review the configure diagnostic logging. For more information, see Configure and View SharePoint Log Files and Diagnostic Logging (Power Pivot for SharePoint).
The settings in the Excel Services Authentication Settings dialog in Excel 2013, determine the Windows identity that Excel Services and Analysis Services use for data refresh.
Use the authenticated user’s account: Excel Services performs data refresh under the identity of the currently logged-in user.
Use a stored account: Assumes a SharePoint Secure Store Service application ID, which Excel Services uses to retrieve the user name and password to authenticate data refresh authentication.
None: The Excel Services Unattended Service Account is used. The service account is associated with a Secure Store Proxy. Configure the settings on the Excel Services Application Settings page, in the External Data section.
To open the authentication settings dialog:
Click the Data tab in Excel 2013.
Click Connections in the ribbon.
In the Workbook connections dialog, select the connection and click Properties.
In the Connection properties dialog, click Definition, and then click the Authentication Settings… button.
For more information on data refresh authentication and usage of credentials, see the blog post Refreshing Power Pivot Data in SharePoint 2013.
Excel Services in SharePoint 2013 (http://msdn.microsoft.com/library/sharepoint/jj164076(v=office.15)).