在 Analysis Services 中,数据库兼容性级别属性确定数据库的功能级别。 兼容性级别对于每个模型类型都是独一无二的。 例如,兼容级别 1100
具有不同的含义,具体取决于数据库是多维还是表格。
本主题仅介绍多维数据库的兼容性级别。 有关表格解决方案的详细信息,请参阅兼容性级别(SSAS 表格 SP1)。
注释
表格模型具有不适用于多维模型的附加数据库兼容性级别。 多维模型的兼容性级别 1103
不存在。 有关表格解决方案的详细信息1103
,请参阅 SQL Server 2012 SP1 中表格模型的新增功能和兼容性级别。
多维数据库的兼容性级别
目前,唯一因功能级别而异的多维数据库行为是字符串存储体系结构。 通过提高数据库兼容性级别,可以替代度量值和维度字符串存储的 4 GB 最大限制。
对于多维数据库,属性的有效值 CompatibilityLevel
包括:
设置 | DESCRIPTION |
---|---|
1050 |
此值在脚本或工具中不可见,但它对应于在 SQL Server 2005、SQL Server 2008 或 SQL Server 2008 R2 中创建的数据库。 任何未显式设置 CompatibilityLevel 的数据库都会隐式地在 1050 级别运行。 |
1100 |
这是在 SQL Server 2012 或 SQL Server 2014 中创建的新数据库的默认值。 还可以为在早期版本的 Analysis Services 中创建的数据库指定它,从而启用只在此兼容级别支持的功能(即维度属性或包含字符串数据的不同计数度量值的字符串存储容量增加)。 设置为 1100 的数据库会获得附加属性StringStoresCompatibilityLevel ,允许您为分区和维度选择备用字符串存储。 |
警告
将数据库兼容性设置为更高级别是不可逆的。 将兼容级别提高到 1100
以后,必须继续在较新的服务器上运行数据库。 不能回滚到 1050
。 不能在低于 SQL Server 2012 或 SQL Server 2014 的服务器版本上附加或还原 1100
数据库。
先决条件
SQL Server 2012 中引入了数据库兼容性级别。 必须具有 SQL Server 2012Analysis Services 或更高版本才能查看或设置数据库兼容性级别。
数据库不能是本地多维数据集。 本地多维数据集不支持该 CompatibilityLevel
属性。
该数据库必须在以前的版本中创建(SQL Server 2008 R2 或更早版本),然后附加或还原到 SQL Server 2012Analysis Services 或更高版本服务器。 部署到 SQL Server 2012 的数据库已经在 1100
级别,无法降级到更低级别运行。
确定多维数据库的现有数据库兼容性级别
查看或修改数据库兼容性级别的唯一方法是通过 XMLA。 可以在 SQL Server Management Studio 中查看或修改指定数据库的 XMLA 脚本。
如果在数据库的 XMLA 定义中搜索属性 CompatibilityLevel
,并且它不存在,则很可能在 1050
级别具有数据库。
下一部分提供了查看和修改 XMLA 脚本的说明。
在 SQL Server Management Studio 中设置数据库兼容性级别
在提高兼容性级别之前,请备份数据库,以防以后要撤消更改。
使用 SQL Server Management Studio 连接到托管数据库的 SQL Server 2014Analysis Services 服务器。
右键单击数据库名称,指向 脚本数据库,指向 ALTER,然后选择“ 新建查询编辑器窗口”。 数据库的 XMLA 表示形式将在新窗口中打开。
复制以下 XML 元素:
<ddl200:CompatibilityLevel>1100</ddl200:CompatibilityLevel>
将其粘贴到
</Annotations>
关闭元素之后和<Language>
元素之前。 XML 应类似于以下示例:</Annotations> <ddl200:CompatibilityLevel>1100</ddl200:CompatibilityLevel> <Language>1033</Language>
保存文件。
若要运行脚本,请单击“查询”菜单上的“ 执行 ”或按 F5。
需要相同兼容性级别的支持的操作
以下作要求源数据库共享相同的兼容级别。
仅当两个数据库共享相同的兼容级别时,才支持合并不同数据库的分区。
使用另一个数据库中的链接维度需要相同的兼容级别。 例如,如果要在 SQL Server 2012 数据库中使用 SQL Server 2008 R2 数据库中的链接维度,则必须将 SQL Server 2008 R2 数据库移植到 SQL Server 2012 服务器,并将兼容性级别
1100
设置为。支持同步服务器的前提是服务器必须具有相同版本和数据库兼容性级别。
后续步骤
提高数据库兼容性级别后,可以在 SQL Server Data Tools 中设置 StringStoresCompatibilityLevel
该属性。 这会提高度量值和维度的字符串存储容量。 有关此功能的详细信息,请参阅 为维度和分区配置字符串存储。