PowerPivot 数据刷新概述

PowerPivot 数据刷新操作是在 SharePoint 服务器场中的 Analysis Services 服务器实例上运行的一个计划进程。您可以将数据刷新计划为一个定期从外部数据源重新导入数据的服务器端操作,同时替换您从 SharePoint 网站打开的 PowerPivot 工作簿中的较旧数据。

本主题说明数据刷新的工作方式。管理员或工作簿作者在排查出现的任何数据刷新问题之前,可使用此信息来了解整个过程。

用于学习与 PowerPivot 数据刷新有关的知识的其他资源包括以下白皮书:Everything you always wanted to know about PowerPivot data refresh but were afraid to ask(您始终要了解的与 PowerPivot 数据刷新有关但很怕提问的一切内容)。

本主题包含以下各节:

数据刷新体系结构

数据刷新中使用的帐户

配置数据刷新

设置数据刷新计划

触发数据刷新

处理数据刷新

取消数据刷新

删除数据刷新计划

注意注意

PowerPivot 数据刷新与 Excel 数据刷新功能无关,并且您无法通过使用 Excel 中的标准数据刷新功能来刷新 PowerPivot 数据。在具有 PowerPivot for SharePoint 安装的 SharePoint 服务器上,PowerPivot 数据刷新功能通过 SharePoint 站点上的“管理 PowerPivot 数据刷新”应用程序页配置,并且仅对已发布工作簿中嵌入的 PowerPivot 数据执行。

数据刷新体系结构

在 Excel 工作簿中刷新 PowerPivot 数据的过程是由 Analysis Services 和 SharePoint 场中的 PowerPivot 服务器组件触发、执行和管理的。PowerPivot 服务应用程序通过运行数据刷新作业启动数据刷新,并在刷新数据后通过签入更新后的数据文件来结束数据刷新。数据检索由 Analysis Services 实例执行。它打开与外部数据源的连接,提交查询,并用较新的结果集覆盖现有的数据。一旦设置了计划,数据刷新就会自行运行,但您可以通过查看数据刷新历史记录来验证实际处理结果的状态。

与由用户启动的按需数据处理相比,数据刷新处理基于进行处理时所确定的预定义计划来进行。计划还会定义参与刷新操作的数据源和用于访问该工作簿和外部数据源的凭据。PowerPivot 服务将自动使用此信息来启动和运行刷新的数据并将其保存到工作簿中。

要使数据刷新成功,服务必须有权访问用于运行数据刷新作业和连接到数据源的存储的凭据。用于存储凭据的 SharePoint 功能是安全存储区服务。安全存储区服务是一个属于 SharePoint 产品的一部分的 SharePoint 应用程序。可以启用该服务以支持数据刷新场景。如果使用“新服务器”安装选项来安装服务器,则 SQL Server 安装程序还会为您启用并设置该服务。

支持数据刷新的组件包括以下各项:

  • PowerPivot 数据刷新计时器作业

  • PowerPivot 服务应用程序

  • Analysis Services 服务 

“PowerPivot 数据刷新计时器作业”每分钟在场中的每台 PowerPivot 服务器上运行一次。计时器作业会通过调用 PowerPivot 服务来读取 PowerPivot 应用程序数据库中的预定义计划。计时器作业由属于 SharePoint 场成员的每台计算机上运行的 SharePoint 2010 计时器服务来运行。找到计划后,PowerPivot 数据刷新计时器作业将请求传递给与提供工作簿的 Web 应用程序关联的 PowerPivot 服务应用程序。如果服务器场中存在多个 Analysis Services 服务实例,则将使用负载平衡方案来确定由哪台服务器来接收该请求。

获得请求的服务器会将其添加到本地 Analysis Services 服务实例的处理队列中。PowerPivot 服务应用程序会读取计划定义,以获取工作簿位置、要刷新的数据源列表和进行处理时将使用的用户凭据。该应用程序会将此信息传递给 Analysis Services 服务实例。

Analysis Services 服务实例先检查是否有足够的系统资源,然后再加载 PowerPivot 数据源。随后它使用计划定义或 PowerPivot 数据源中指定的凭据打开与外部数据源的连接。 来自外部数据源的当前数据将替换 PowerPivot 数据源中的现有行。将忽略新的列或表;数据刷新不能用来向数据源中添加新的表或列。

从外部源检索所有数据后,PowerPivot 服务应用程序会检查内容库,以确认是否可以保存工作簿。如果工作簿未签出或已打开可供编辑,服务将在库中保存更新的工作簿并将事件记录到服务器场中的使用情况数据集合系统。在签出或打开文件时,将放弃工作簿的已刷新版本。

默认情况下,数据刷新功能处于关闭状态。有关如何启用和配置数据刷新的详细信息,请参阅启用和配置 PowerPivot 数据刷新

数据刷新中使用的帐户

可以自动刷新已发布到 SharePoint 的 PowerPivot 工作簿,以使用来自提供原始数据的外部数据源的更新数据。在计划的时间,服务器将连接到外部源,并使用工作簿中的查询和连接信息重新导入数据。

为建立与外部数据源的连接并完成数据刷新操作,服务器必须满足下列要求:

  • 用来执行数据刷新操作的用户身份。

  • 用于与外部数据源连接的用户身份。

虽然 PowerPivot 服务应用程序可处理数据刷新请求,但它不会以自己的身份运行该作业。而会模拟另一个用户(无人参与的数据刷新帐户或 SharePoint 用户的 Windows 凭据)来运行该进程,并确保为该用户收集数据刷新历史记录。计划的数据刷新还可以使用存储的凭据来连接到外部数据源。PowerPivot 数据刷新中使用的所有凭据都存储在 SharePoint 中,这要求您可以启用安全存储区服务并将其配置为一个先决条件步骤。在设置计划时,需要指定要使用的帐户。

下表描述了用于指定数据刷新中使用的身份的不同选项:

用途

方法

说明

要求

运行作业

使用 PowerPivot 无人参与的数据刷新帐户。

为工作簿选择此选项后,所有数据刷新历史记录和使用情况数据将基于无人参与的帐户进行收集。如果需要更细粒度的方法,请使用下面列出的某一种其他方法。

必须在安全存储区服务中事先创建目标应用程序,才能存储无人参与的数据刷新帐户。

如果您使用“新服务器”安装选项,则 SQL Server 安装程序会自动创建无人参与的数据刷新帐户。该帐户基于用于为此安装类型设置所有服务的场帐户。

否则,对于所有其他安装场景,您必须手动创建此帐户。

有关说明,请参阅配置和使用 PowerPivot 无人参与的数据刷新帐户

使用任何 Windows 域用户帐户。

如果希望基于特定用户身份收集数据刷新历史记录或使用情况数据,您可以针对想要使用的帐户配置目标应用程序。

您必须在安全存储区服务中创建目标应用程序以存储您想要使用的帐户的凭据。

有关说明,请参阅Configure any Windows account for data refresh

使用计划该作业的人员的个人 Windows 帐户。

PowerPivot 服务将动态创建目标应用程序以存储正在配置数据刷新计划的人员的 Windows 用户凭据,然后在该计划不再存在时删除应用程序。

无。这些凭据将自动存储,然后当计划不再存在时自动删除。

与外部数据源连接

使用工作簿中嵌入的连接字符串和凭据。

连接信息在首次导入数据时存储在工作簿中。连接字符串、凭据和查询均为 PowerPivot 工作簿的永久组成部分。可以使用本表中的以下任一种选项覆盖凭据。

无。连接信息已经可用。

使用 Windows 用户凭据

使用此选项可以覆盖与连接字符串一起存储的 Windows 域用户名和密码。

您必须在安全存储区服务中创建目标应用程序以存储您想要使用的帐户的凭据。

有关说明,请参阅Configure any Windows account for data refresh

使用数据库凭据或第三方凭据

使用此选项可以覆盖连接字符串中的非 Windows 凭据。

您必须在安全存储区服务中创建目标应用程序以存储您想要使用的帐户的凭据。

有关说明,请参阅Configure a predefined account for accessing external or third-party data sources

配置数据刷新

在用户可以设置数据刷新计划之前,场或服务应用程序管理员必须启用数据刷新。默认情况下,数据刷新功能不可用。管理员通过以下操作启用数据刷新:

  • 启用和配置安全存储区服务。此步骤启用最低级别的数据刷新功能。也就是说,工作簿所有者或作者可以定义一个数据刷新计划以使用其凭据来运行。

  • 安装用于将数据导入 PowerPivot 工作簿的尚未安装在服务器上的任何数据访问接口。

  • 此外,还可以配置 PowerPivot 无人参与数据刷新帐户。此步骤在 PowerPivot 数据刷新计划页中启用选择**“使用管理员配置的数据刷新帐户”**选项。用户可能希望使用无人参与帐户而非其自己的凭据来运行数据刷新作业。如果工作簿上的连接属性配置为不使用任何身份验证,则必须配置 PowerPivot 无人参与数据刷新帐户,数据刷新才能正常进行。

  • 或者,也可以配置一个随机 Windows 用户帐户,该帐户可用于运行数据刷新作业。作为管理员,您可能希望可以使用多个帐户来运行数据刷新。可以使用安全存储区服务来创建这些帐户的目标应用程序,然后使目标应用程序 ID 可供用户使用,以便他们可以在数据刷新计划中指定这些 ID。

场或服务器管理员还可以为 PowerPivot 服务器配置数据刷新处理模式。数据刷新处理模式默认情况下处于启用状态,但作为管理员,您应该知道可以针对服务器禁用此处理模式。如果数据刷新工作不正常,则第一步就是检查此服务器选项来排除此问题。有关详细信息,请参阅配置专用数据刷新或仅限查询的处理

设置数据刷新计划

工作簿作者或所有者为自己保存到 SharePoint 中的工作簿定义数据刷新计划。计划数据刷新的用户必须对 SharePoint 网站上的工作簿具有“参与讨论”权限。

工作簿所有者可通过指定下列各项来设置数据刷新:

  • 决定数据刷新频率的计划。

  • 用于运行数据刷新作业的帐户(无人参与的数据刷新帐户或 SharePoint 用户的 Windows 凭据)。

  • 要在数据刷新操作中包括的选定数据源。数据源必须可以通过网络连接进行访问。如果您从工作站上的本地文件导入数据,则当服务器尝试从该数据源刷新数据时,此源极有可能不可用于此服务器。还要求对数据文件具有权限。并不是所有的数据源都能满足数据刷新的要求。您可以排除将在刷新操作过程中失败的数据源。

  • (可选)用于访问可提供更新数据的外部数据源的凭据。默认情况下,最初用于获取数据的凭据将重用于数据刷新操作,但可以通过在计划中输入其他凭据来覆盖此设置。

每个工作簿都有一个 PowerPivot 数据刷新计划。任何对工作簿拥有“参与讨论”权限的用户都可以创建或修改数据刷新计划。

数据刷新功能在默认情况下处于关闭状态,但服务应用程序管理员可以为 PowerPivot 服务应用程序启用该功能。有关如何设置数据刷新的详细信息,请参阅计划 PowerPivot 数据刷新

触发数据刷新

数据刷新计划存储在 PowerPivot 服务应用程序数据库中,由在应用程序服务器上运行的 PowerPivot 数据刷新计时器作业触发。该计时器作业会调用 PowerPivot 服务,以从其数据库中读取计划信息。默认情况下, 计时器作业以一分钟的时间间隔进行扫描,这是 SharePoint 场中允许用于计时器作业的最小时间间隔。

计时器作业在服务器场中具有 PowerPivot for SharePoint 实例的每台物理服务器上运行。计时器作业自身被定义为服务器场级作业。您可以在管理中心的“监视”页中查看和配置计时器作业属性。您定义的设置将应用于服务器场中的所有 PowerPivot 数据刷新计时器作业。

当计时器作业检测到用户定义的数据刷新计划时,它会向 PowerPivot 服务传递一个数据处理请求,以将该请求放入本地 Analysis Services 服务器实例的处理队列中。如果没有 Analysis Services 的本地实例,该作业就会将该请求添加到与 Web 应用程序关联的其他实例中。请求一旦进入队列,便会一直保留在队列中,直到被处理或取消为止。

您不能确定处理队列的优先级或对其重新排序,但可以使用“立即运行”操作来强行立即进行数据刷新。有关详细信息,请参阅计划 PowerPivot 数据刷新

处理数据刷新

如果 Analysis Services 服务器实例能够从计划中指定的所有数据源中检索到已更新的数据,则数据刷新成功。如果对某一数据源的检索失败,则将不会保存任何刷新的数据。 

下图显示了数据刷新操作的步骤。

数据刷新顺序图

下表介绍了数据刷新操作开始时的服务器操作:

1

授权检查验证用户是否具有足够的权限来向 PowerPivot 数据源请求更新的数据。数据刷新作业会模拟无人参与的数据刷新帐户或计划定义中指定的 Windows 用户的身份,并以该身份从内容数据库中打开工作簿文件。

2

服务器读取为当前的数据刷新操作计划的数据源列表。该列表将包含当前向 PowerPivot 数据源提供数据的所有数据源,或为数据刷新操作明确选定的各个数据源。用户可以选择用于计划的数据源的一个子集。

该服务将使用 PowerPivot 数据源内存储的连接字符串打开与每个数据源的连接。根据数据刷新计划的定义方式,将从连接字符串或安全存储区(如果计划数据刷新的人输入了所提供的用于连接特定数据源的凭据)中读取连接凭据。

每个数据源的打开和查询操作可并行进行。如果数据源不可用或发生错误,数据刷新操作就会失败,而且会显示一个错误来指明问题的原因。数据刷新作业将停止处理,并且将向数据刷新历史记录中写入错误。

3

如果所有数据源都成功刷新了数据,数据和工作簿将保存到内容数据库中。该操作会被记录到数据刷新历史记录中。Windows 用户或无人参与的数据刷新帐户的身份将包括到日志条目中。

当服务器试图保存刷新的数据时,无法签出工作簿。签出工作簿时,如果服务器不能保存已更新的工作簿,它将放弃刷新的数据。如果未锁定工作簿以进行编辑,则会使用计划中指定的 Windows 凭据或无人参与的数据刷新帐户保存更新的工作簿。

度量用于数据刷新的系统资源

仅当服务器有足够的内存可用来启动数据刷新进程时,才会进行数据刷新处理;如果可用内存相当于文件大小的一倍半,则认为有足够的内存。分配数据刷新请求时将与按需查询使用相同的负载平衡方案。如果 PowerPivot 服务应用程序使用循环法,则会将数据刷新请求分配给下一个服务器。基于运行状况的方法会将该请求分配给可用资源最多的服务器。程序会查询每个服务器的系统信息。如果所有服务器都面临着内存压力,则会卸载一个或多个数据源,以便为数据刷新作业留出空间。将首先删除处于非活动状态的时间最长的数据源。如果服务器不存在内存压力并且有多个候选服务器,分配方法将使用其他条件,例如可以立即加载而非从内容数据库中检索的缓存 PowerPivot 数据源的可用性。

默认情况下,PowerPivot 数据刷新作业和按需查询将共享一台应用程序服务器上的相同物理服务器资源。您可以修改此行为,具体方法是将特定 Analysis Services 服务实例配置为仅支持按需查询或数据刷新。您还可以更改可同时运行的数据刷新作业数。有关详细信息,请参阅配置专用数据刷新或仅限查询的处理

取消数据刷新

如果服务器面临压力而且不能在计划的时间处理数据刷新,请求将保留在队列中,服务器将在系统资源可用后处理该请求。

如果由于某种原因系统资源永远都不可用,服务器将取消请求、将其从队列中删除、在数据刷新历史记录中记录该事件,还可以选择通过电子邮件将该进程被取消的消息通知文档所有者。取消发生于下一次计划运行该进程时。例如,如果计划于星期三上午 9 点进行的数据刷新永远不会发生,则会在下个星期三上午 9 点服务器检测到队列中的未处理请求时执行取消操作。

一旦启动了数据刷新操作,就无法手动取消此操作,但您可以提前禁用此计划以防止其运行。有关如何对特定工作簿禁用数据刷新的详细信息,请参阅计划 PowerPivot 数据刷新。有关如何关闭服务器上的数据刷新的详细信息,请参阅配置专用数据刷新或仅限查询的处理

删除数据刷新计划

数据刷新计划是为 PowerPivot 工作簿存储和维护的元数据的一部分。因为计划不是单独的文件,所以您无法独立于使用该计划的工作簿来删除该计划。如果您不想继续刷新工作簿中的数据,可以清除针对该计划的**“启用”**复选框。该计划不再运行,并且在经过一段非活动期后,将删除以前指定的计划信息。

删除某一工作簿将删除与该工作簿相关联的所有数据刷新计划。如果您以后回收该工作簿,则计划信息也会回收并且将在同一计划上恢复。