为维度和分区配置字符串存储

可以重新配置字符串存储,以适应维度属性或分区中非常大的字符串,这些字符串超出了字符串存储的 4 GB 文件大小限制。 如果您的维度或分区包含特定大小的字符串存储,可以通过更改维度或分区级别的 StringStoresCompatibilityLevel 属性,绕过文件大小的限制,适用于本地以及链接的(本地或远程)对象。

请注意,可以只增加那些需要额外容量的对象上的字符串存储。 在大多数多维模型中,字符串数据与维度相关联。 但是,包含字符串上唯一计数度量值的分区也可以从此设置中受益。 由于该设置适用于字符串,因此数值数据不受影响。

此属性的有效值包括:

价值 DESCRIPTION
1050 指定默认字符串存储体系结构,每个存储的最大文件大小为 4 GB。
1100 指定更大的字符串存储,每个存储最多支持 40 亿个唯一字符串。

重要

更改对象的字符串存储设置需要重新处理对象本身和任何依赖对象。 必须对流程进行处理才能完成。

本主题包含以下部分:

关于字符串存储

字符串存储配置是可选的,这意味着即使是你创建的新数据库也使用默认字符串存储体系结构,该体系结构受 4 GB 最大文件大小的约束。 使用较大的字符串存储体系结构对性能的影响很小,但明显。 仅当字符串存储文件接近或达到最大 4 GB 限制时,才应使用它。

注释

此设置不适用于数据挖掘模型。 目前,仍可能会遇到包含数据挖掘结构的模型的 GB 文件大小限制。

在 Analysis Services 多维数据库中,字符串与数值数据分开存储,以便根据数据的特征进行优化。 字符串数据通常位于表示名称或说明的维度属性中。 还可以在不同计数度量中具有字符串数据。 字符串数据也可以在键中使用。

可以按文件扩展名标识字符串存储(例如,asstore、.bstore、.ksstore 或 .string 文件)。 默认情况下,每个文件都受最大 4 GB 的限制。 在 SQL Server 2012 中,可以通过指定允许字符串存储根据需要增长的替代存储机制来替代最大文件大小。

与限制物理文件大小的默认字符串存储体系结构相比,较大的字符串存储基于最大字符串数。 较大的字符串存储的最大限制是 40 亿个唯一字符串或 40 亿条记录,以先出现为准。 更大的字符串存储创建大小一致的记录,其中每个记录等于 64K 大小的页面。 如果你的字符串非常长且不适合单个记录,则有效限制将小于 40 亿个字符串。

先决条件

必须具有 SQL Server 2012 或更高版本的 Analysis Services。

维度和分区必须使用 MOLAP 存储。

数据库兼容性级别必须设置为 1100。 如果使用 SQL Server Data Tools 和 SQL Server 2012 或更高版本的 Analysis Services 创建或部署了数据库,则数据库兼容性级别已设置为 1100。 如果将在早期版本的 Analysis Services 中创建的数据库移动到 ssSQL11 或更高版本,则必须更新兼容级别。 对于要移动但未重新部署的数据库,可以使用 SQL Server Management Studio 设置兼容性级别。 有关详细信息,请参阅设置多维数据库的兼容级别(Analysis Services)。

步骤 1:在 SQL Server Data Tools 中设置 StringStoreCompatiblityLevel 属性

  1. 使用 SQL Server Data Tools (SSDT),打开包含要修改的维度或分区的项目。

  2. 若要更改维度的字符串存储方式,请打开解决方案资源管理器。 双击您要修改的字符串存储维度。

  3. 在维度设计器的“属性”窗格中,确保已选择维度的父节点(例如,如果维度是 Customers,请选择“客户”,而不是子属性之一)。

  4. 在“属性”窗格中的“高级”部分中,将 StringStoresCompatibilityLevel 设置为 1100。 对于需要较大存储的其他维度重复,否则将剩余维度保留为 1050 值。

  5. 对于分区,请从解决方案资源管理器打开cube。

  6. 单击“分区”选项卡。

  7. 展开分区,选择需要额外存储容量的分区,然后修改 StringStoresCompatibilityLevel 属性。

  8. 保存文件。

步骤 2:处理对象

处理对象后,将使用新的存储体系结构。 处理对象还证明你已成功解决存储约束问题,因为以前报告字符串存储溢出条件的错误不应再发生。

  • 在解决方案资源管理器中,右键单击您刚刚修改的维度,然后选择“处理”。

必须在使用新字符串存储体系结构的每个对象上使用“进程完整”选项。 在处理之前,请务必对维度运行影响分析,以检查依赖对象是否需要重新处理。

另请参阅

处理工具和方法(Analysis Services)
处理选项和设置(分析服务)
分区存储模式和处理
维度存储