PowerPivot for SharePoint 部署使用主计算机的磁盘空间来缓存 PowerPivot 数据库,以便更快地重新加载。 首先将内存中加载的每个 PowerPivot 数据库缓存到磁盘,以便稍后可以快速重新加载它以处理新请求。 默认情况下,PowerPivot for SharePoint 使用所有可用的磁盘空间来缓存其数据库,但可以通过设置限制使用磁盘空间的属性来修改此行为。
本主题介绍如何设置磁盘空间使用量限制。
本主题不提供 PowerPivot 数据库(嵌入在 Excel 工作簿中)的磁盘空间管理指南,这些数据库存储在内容数据库中。 PowerPivot 数据库可能很大,从而对场的存储容量提出新的要求。 此外,如果启用了版本控制,则可以轻松地在同一内容数据库中有多个数据副本,从而进一步增加内容存储所需的磁盘空间量。 尽管 PowerPivot 数据库是磁盘管理的重要考虑因素,但它们无法独立于您在 SharePoint 场内存储的其他内容进行管理。 随着企业增加对 PowerPivot 工作簿的使用,你需要更密切地监视磁盘空间。 还可以在 PowerPivot 管理仪表板中跟踪 PowerPivot 工作簿活动,并删除不再使用的工作簿。
PowerPivot for SharePoint 如何管理缓存的数据库
为了管理其缓存,PowerPivot 系统服务会定期运行后台作业,以清理内容库中具有较新版本的未使用或过时的数据库。 清理作业的目的是从内存中卸载非活动数据库,并从文件系统中删除未使用的缓存数据库。 清理作业用于长期维护,确保数据库不会无限期保留在系统上。 在活动服务器上,由于服务器上的内存压力、SharePoint 中的数据库删除或内容库中数据库的较新版本,数据库可能会更频繁地删除。
虽然无法安排清理任务,但可以通过设置服务器配置属性来自定义缓存文件管理,完成以下操作:
- 设置缓存使用的磁盘空间量限制。 
- 指定达到最大磁盘空间时要删除的数据量。 
如何检查磁盘空间使用情况
PowerPivot for SharePoint 安装在 SharePoint 场中的应用程序服务器上。 每个安装都有一个包含备份文件夹的数据目录。 备份文件夹包含计算机上 Analysis Services 实例缓存的所有数据文件。 默认情况下,可以在以下路径中找到备份文件夹:
%drive%:\Program Files\Microsoft SQL Server\MSAS10_50.PowerPivot\OLAP\Backup\Sandboxes\<serviceApplicationName>
若要检查缓存使用的磁盘空间总量,必须检查备份文件夹的大小。 管理中心中没有报告当前缓存大小的属性。
备份文件夹为本地计算机上的内存中加载的任何 PowerPivot 数据库提供通用缓存存储。 如果在场中定义了多个 PowerPivot 服务应用程序,其中任何一个应用程序都可以使用本地服务器加载并随后缓存 PowerPivot 数据。 数据加载和缓存都是分析服务服务器的操作。 因此,在 Backup 文件夹中的 Analysis Services 实例中管理总磁盘空间使用量。 因此,限制磁盘空间使用量的配置设置在 SharePoint 应用程序服务器上运行的单个 SQL Server Analysis Services 实例上设置。
缓存仅包含 PowerPivot 数据库。 PowerPivot 数据库存储在单个父文件夹(备份文件夹)下的多个文件中。 由于 PowerPivot 数据库旨在用作 Excel 工作簿的内部数据,因此数据库名称是基于 GUID 而不是描述性的。 serviceApplicationName> 下的< GUID 文件夹是 PowerPivot 数据库的父文件夹。 在服务器上加载 PowerPivot 数据库时,会为每个数据库创建其他文件夹。
由于 PowerPivot 数据可能在场中的任何 Analysis Services 实例上加载,因此同一数据也可能缓存在场中的多台计算机上。 这种做法优先考虑性能而非磁盘空间利用率,其代价是,如果数据已经存储在磁盘上,用户将能够更快地访问这些数据。
若要立即减少磁盘空间消耗,可以关闭服务,然后从备份文件夹中删除 PowerPivot 数据库。 手动删除文件是临时度量值,因为下次查询 PowerPivot 数据时,数据库的新副本将再次缓存。 永久性解决方案包括限制缓存使用的磁盘空间。
在系统级别,可以创建电子邮件警报,以在磁盘空间不足时通知你。 Microsoft System Center 包含电子邮件警报功能。 还可以使用文件服务器资源管理器、任务计划程序或 PowerShell 脚本来设置警报。 以下链接提供了有关设置有关磁盘空间不足的通知的有用信息:
- 文件服务器资源管理器(https://technet.microsoft.com/library/hh831746.aspx)中的新增功能。 
- 适用于 Windows Server 2008 R2 的文件服务器资源管理器分步指南 (https://go.microsoft.com/fwlink/?LinkID=204875)。 
- 在 Windows Server 2008 () 上设置磁盘空间不足的警报。 https://go.microsoft.com/fwlink/?LinkID=204870 
如何限制用于存储缓存文件的磁盘空间量
- 在管理中心的“应用程序管理”中,单击“ 服务器上的管理服务”。 
- 单击 “SQL Server Analysis Services”。 - 请注意,在物理服务器上运行的 Analysis Services 实例上设置了限制,而不是在服务应用程序级别设置。 使用本地 Analysis Services 实例的所有服务应用程序都受到为该实例设置的最大磁盘空间限制。 
- 在“磁盘使用情况”中,为 “总磁盘空间 ”设置一个值(以千兆字节为单位),以设置用于缓存目的的空间量上限。 默认值为 0,它允许 Analysis Services 使用所有可用的磁盘空间。 
- 在“磁盘使用情况”中,在 “n”小时内的“删除缓存” 设置中,指定在磁盘空间达到最大限制时清空缓存的最后使用条件。 - 默认值为 4 小时,这意味着从文件系统中删除所有处于非活动状态 4 小时或更多数据库。 处于非活动状态但仍在内存中的数据库会卸载,然后从文件系统中删除。 
如何限制数据库保留在缓存中的时长
- 在管理中心的应用程序管理中,单击“ 管理服务应用程序”。 
- 单击 “默认 PowerPivot 服务应用程序 ”打开管理仪表板。 
- 在“作”中,单击“ 配置服务应用程序设置”。 
- 在“磁盘缓存”部分中,可以指定非活动数据库在内存中保留多长时间来服务新请求(默认情况下为 48 小时),以及它在缓存中停留的时间(默认情况下为 120 小时)。 - 在内存中保留非活动数据库 指定非活动数据库在内存中停留的时间,以便为该数据的新请求提供服务。 只要正在查询活动数据库,活动数据库就会始终保留在内存中,但在不再处于活动状态之后,系统会将数据库保留在内存中一段时间,以防对这些数据发出更多请求。 - 由于首先缓存 PowerPivot 数据库,然后加载到内存中,因此数据库文件会立即占用磁盘空间。 但是,当数据库处于活动状态(之后为 48 小时)时,所有请求将首先定向到内存中数据库,忽略缓存的数据库。 在处于非活动状态 48 小时后,文件会从内存中卸载,但在缓存中,如果本地 PowerPivot 服务器实例截获了该数据的新连接请求,则可以快速重新加载该文件。 从缓存而不是内容库提供对非活动数据库的连接请求,尽量减少对内容数据库的影响。 - 请务必注意,内容库是 PowerPivot 数据库的唯一永久位置。 仅当库中的数据库与磁盘上的副本相同时,才会使用缓存副本。 - 在缓存中保留非活动数据库 指定非活动数据库在从内存中卸载后,非活动数据库在文件系统上保留多长时间。 清理作业使用此设置来确定要删除的文件。 清除作业会从磁盘中删除所有处于非活动状态 168 小时(内存中 48 小时和缓存中的 120 小时)的所有 PowerPivot 数据库。 
- 单击“确定”以保存你的更改。 
后续步骤
PowerPivot for SharePoint 安装提供运行状况规则,以便在服务器运行状况、配置或可用性中检测到问题时采取纠正措施。 其中一些规则使用配置设置来确定触发健康规则的条件。 如果正在积极优化服务器性能,可能还需要查看这些设置,以确保默认设置是系统的最佳选择。 有关详细信息,请参阅 PowerPivot 运行状况规则 - 配置。