多维数据库的兼容性级别(Analysis Services)

适用于: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

在 SQL Server Analysis Services 中,数据库兼容性级别属性确定数据库的功能级别。 兼容性级别对于每个模型类型都是独一无二的。 例如,兼容级别 为 1100 具有不同的含义,具体取决于数据库是多维还是表格。

本主题仅介绍多维数据库的兼容性级别。 有关表格解决方案的详细信息,请参阅 Analysis Services 中表格模型的兼容性级别

注释

表格模型具有不适用于多维模型的附加数据库兼容性级别。 多维模型的兼容性级别 1103 不存在。

多维数据库的兼容性级别

目前,唯一因功能级别而异的多维数据库行为是字符串存储体系结构。 通过提高数据库兼容性级别,可以替代度量值和维度字符串存储的 4 GB 最大限制。

对于多维数据库, CompatibilityLevel 属性的有效值包括:

设置 Description
1050 此值在脚本或工具中不可见,但它对应于在 SQL Server 2005(9.x)、SQL Server 2008 或 SQL Server 2008 R2 中创建的数据库。 未显式设置 CompatibilityLevel 的任何数据库均在 1050 级别隐式运行。
1100 这是在 SQL Server 2012 (11.x) 或 SQL Server 2017 中创建的新数据库的默认值。 您还可以为在早期版本的 SQL Server Analysis Services 中创建的数据库指定该功能,以启用仅在此兼容性级别支持的功能(即,为维度属性或包含字符串数据的不同计数度量值提供增强的字符串存储)。

CompatibilityLevel 设置为 1100 的数据库将获得附加属性 StringStoresCompatibilityLevel,该属性允许为分区和维度选择备用字符串存储。

警告

将数据库兼容性设置为更高级别是不可逆的。 将兼容级别提高到 1100 后,必须继续在较新的服务器上运行数据库。 无法回滚到 1050。 不能在低于 SQL Server 2012 (11.x ) 或 SQL Server 2017 的服务器版本上附加或还原 1100 数据库。

先决条件

SQL Server 2012(11.x)中引入了数据库兼容性级别。 必须具有 SQL Server 2012 (11.x)SQL Server Analysis Services 或更高版本才能查看或设置数据库兼容性级别。

数据库不能是局部多维数据集。 本地多维数据集不支持 CompatibilityLevel 属性。

该数据库必须在以前的版本中创建(SQL Server 2008 R2 或更早版本),然后附加或还原到 SQL Server 2012 (11.x)SQL Server Analysis Services 或更高版本。 部署到 SQL Server 2012 的数据库已为 1100 ,无法降级为较低级别运行。

确定多维数据库的现有数据库兼容性级别

查看或修改数据库兼容性级别的唯一方法是通过 XMLA。 可以在 SQL Server Management Studio 中查看或修改指定数据库的 XMLA 脚本。

如果在数据库的 XMLA 定义中搜索属性 CompatibilityLevel ,并且它不存在,则很可能在 1050 级别具有数据库。

下一部分提供了查看和修改 XMLA 脚本的说明。

在 SQL Server Management Studio 中设置数据库兼容性级别

  1. 在提高兼容性级别之前,请备份数据库,以防以后要撤消更改。

  2. 使用 SQL Server Management Studio 连接到托管数据库的 SQL Server 2017SQL Server Analysis Services 服务器。

  3. 右键单击数据库名称,指向 脚本数据库,指向 ALTER,然后选择“ 新建查询编辑器窗口”。 数据库的 XMLA 表示形式将在新窗口中打开。

  4. 复制以下 XML 元素:

    <ddl200:CompatibilityLevel>1100</ddl200:CompatibilityLevel>  
    
  5. 将其粘贴到 </Annotations> 结束元素之后和 <Language> 元素之前。 XML 应类似于以下示例:

    </Annotations>  
    <ddl200:CompatibilityLevel>1100</ddl200:CompatibilityLevel>  
    <Language>1033</Language>  
    
  6. 保存文件。

  7. 若要运行脚本,请单击“查询”菜单上的“ 执行 ”或按 F5。

需要相同兼容性级别的支持的操作

以下作要求源数据库共享相同的兼容级别。

  1. 仅当两个数据库共享相同的兼容级别时,才支持合并不同数据库的分区。

  2. 使用另一个数据库中的链接维度需要相同的兼容级别。 例如,如果要在 SQL Server 2012 (11.x) 数据库中使用 SQL Server 2008 R2 数据库中的链接维度,则必须将 SQL Server 2008 R2 数据库移植到 SQL Server 2012 (11.x) 服务器并将兼容性级别设置为 1100

  3. 只有在服务器共享相同版本和数据库兼容性级别的情况下才支持同步服务器。

后续步骤

增加数据库兼容性级别后,可以在 SQL Server Data Tools 中设置 StringStoresCompatibilityLevel 属性。 这会增加度量值和维度的字符串存储。 有关此功能的详细信息,请参阅 为维度和分区配置字符串存储

另请参阅

备份、还原和同步数据库 (XMLA)