You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Analysis Service表格模型兼容级别异常:API返回1600但实际为1608

Azure Analysis Services Tabular API 返回兼容级别1600与实际1608不符的问题

我通过C#的Microsoft.AnalysisServices.Tabular API连接Azure Analysis Service(AAS)管理表格模型,实现了"热切换"功能:移除生产模型后将临时模型重命名为生产模型。创建临时模型时已将*CompatibilityLevel*设为服务器支持的最高版本1608,但重新连接AAS后,调用*ssasServer.Databases.FindByName*返回的所有模型兼容级别均显示为1600,触发了兼容级别降级不支持的异常。手动在热切换逻辑中指定*CompatibilityLevel*为1608可解决问题,但疑惑为何API返回值与SSMS显示、服务器声明的支持级别不一致。


热切换功能代码

Tabular.Database d = ssasServer.Databases.FindByName(cubeDBName);
Tabular.Database dnew = ssasServer.Databases.FindByName(tempDBName);

ssasServer.Databases.Remove(d.ID);
ssasServer.Databases.Remove(dnew.ID);

dnew.Name = cubeDBName;
ssasServer.Databases.Add(d);
d?.Drop();

ssasServer.Databases.Add(dnew);
dnew.Update();

临时模型创建代码

Tabular.Database d = new Tabular.Database()
{
    Name = ssasServer.Databases.GetNewName(newDbName),
    ID = newDatabaseName + $"_" + DateTime.Now.ToString("ddMMyyyyhhmmss"),
    CompatibilityLevel = compatibilityLevel, 
    // 此处compatibilityLevel是从ssasServer.SupportedCompatibilityLevels解析出的最大值1608
    StorageEngineUsed = StorageEngineUsed.TabularMetadata,
};

ssasServer.Databases.Add(d);    
d.Update();

触发的异常信息

Tabular databases do not support CompatibilityLevel downgrade. Current CompatibilityLevel: '1608'. Requested CompatibilityLevel: '1600'


问题原因

  1. 客户端库版本限制:旧版本的Microsoft.AnalysisServices.Tabular NuGet包对AAS的细分兼容级别(如1608)识别逻辑存在缺陷,会将16xx系列的增量版本统一映射为表格模型的基础兼容级别1600。
  2. 元数据读取逻辑差异:SSMS直接从AAS服务器读取原始元数据,因此能展示真实的1608;而API客户端库在解析元数据时,未对这类细分版本号做特殊处理,返回了通用的1600标识。

解决办法

  • 复用预设的兼容级别值:在热切换流程中,直接使用创建临时模型时从ssasServer.SupportedCompatibilityLevels解析出的compatibilityLevel变量(即1608),不要依赖FindByName返回对象的CompatibilityLevel属性值。
  • 升级客户端库:将项目中的Microsoft.AnalysisServices.Tabular NuGet包更新至最新版本,新版本已修复高版本兼容级别的识别问题,能正确返回1608这类细分版本号。
  • 硬编码指定兼容级别(临时方案):如果暂时无法升级库,可在热切换操作中手动设置dnew.CompatibilityLevel = 1608,避免降级异常。

内容的提问来源于stack exchange,提问作者Dave R

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 19:30:11