SSAS 2022 多维中区分大小写是否被破坏?

问题描述 投票:0回答:1

我有一个现有的 SSAS 2014 多维项目,它使用区分大小写的 SQL Server 数据库作为源(Latin_1_General_CS_AS 排序规则)。 SSAS 项目中的属性也指定为区分大小写,并且它在 SSAS 2014 中工作得很好。 部署到 SSAS 2022 多维后,当其中一个属性在源中的值仅因大小写不同而处理 SSAS 维度时,我会收到“重复键”错误。 我构建了一个一维的最小可行示例:

CREATE DATABASE CaseSensitiveColumnDB COLLATE Latin1_General_CS_AS;
GO
USE CaseSensitiveColumnDB;
CREATE TABLE MyDimension(Id INT, Name VARCHAR(100));
INSERT MyDimension VALUES (1, 'SOMENAME');
INSERT MyDimension VALUES (2, 'somename');

使用上面在 SQL 中提供的表创建数据源视图,基于该表创建维度并尝试在 SSAS 2022 实例上部署和处理它。

预期: 处理成功(与 SSAS 2014 相同) 实际: 处理中断并出现错误“处理时发现重复的属性键:表:‘MyDimension’,列:‘Name’,值:‘SOMENAME’。属性为‘Name’。”

我已经尝试在属性本身(已经存在)、维度属性、SSAS 数据库属性(右键单击 VS 解决方案资源管理器中的项目节点 -> 编辑数据库)甚至在SSAS 实例的属性没有区别。 我错过了什么还是它确实坏了?

sql-server ssas sql-server-2022
1个回答
0
投票

SSAS 2022 对字符串比较功能进行了更改,默认强制字符串不进行大小写比较,无论排序规则设置如何。该更改来自表格模型中的请求,但也用于多维模型。

阿克顿计划: 在msmdsrv.ini文件的tag下添加0,然后重新启动SSAS

© www.soinside.com 2019 - 2024. All rights reserved.