设置多维数据库的兼容级别 (Analysis Services)
在 Analysis Services 中,数据库兼容性级别属性确定数据库的功能级别。 兼容级别对于每个模型类型都是唯一的。 例如, 的 1100
兼容级别具有不同的含义,具体取决于数据库是多维数据库还是表格数据库。
本主题仅描述多维数据库的兼容级别。 有关表格解决方案的详细信息,请参阅 兼容级别 (SSAS 表格 SP1) 。
注意
表格模型具有其他一些不适用于多维模型的数据库兼容级别。 多维模型不具有兼容级别 1103
。 有关表格解决方案的详细信息1103
,请参阅 SQL Server 2012 SP1 中的表格模型的新增功能和兼容性级别。
多维数据库的兼容级别
目前,唯一因功能级别而异的多维数据库行为是字符串存储体系结构。 通过提高数据库兼容级别,可以覆盖度量值和维度的最大 4 GB 字符串存储限制。
对于多维数据库,CompatibilityLevel
属性的有效值包括以下:
设置 | 说明 |
---|---|
1050 |
此值在脚本或工具中不可见,但它对应于在 SQL Server 2005、SQL Server 2008 或 SQL Server 2008 R2 中创建的数据库。 对于任何没有显式设置 CompatibilityLevel 的数据库,都将在 1050 级别隐式运行。 |
1100 |
这是在 SQL Server 2012 或 SQL Server 2014 中创建的新数据库的默认值。 还可以为在早期版本的 Analysis Services 中创建的数据库指定它,以允许使用仅在此兼容级别支持的功能, (即增加维度属性的字符串存储或包含字符串数据) 的非重复计数度量值。 具有一个 CompatibilityLevel 用于 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 to”,然后选择“新查询编辑器窗口”。 数据库的 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
属性。 这样将增大度量值和维度的字符串存储空间。 有关此功能的详细信息,请参阅 配置维度和分区的字符串存储。