【问题标题】:Change Collation on Master Data Services更改主数据服务的排序规则
【发布时间】:2020-07-16 04:17:31
【问题描述】:

我在 SQL Server 2017 上安装了 SQL Server 2017 Master Data Services。在安装过程中,它被设置为使用默认的服务器排序规则。我们现在一直通过 excel 插件使用 MDS,用户希望清理文本。但是,将文本设置为适当的大小写时,发布操作会返回,就好像数据未更改一样。 MDS 数据库上的排序规则是Latin1_General_CI_AS

我的问题是在 MDS 上启用区分大小写的最佳方法是什么?是否只是更改排序规则(例如,更改为 Latin1_General_CS_AS)?

【问题讨论】:

  • 本地还是 Azure?
  • 您需要区分大小写吗?如果没有,为什么不将 MDS 中的选项更改为不敏感并在代码中管理大小写问题?
  • 当您使用 Web UI 而不是 excel 插件时,您的行为是否正确?
  • @allmhuran 尝试在 Web UI 中将文本更改为适当的大小写,但没有改变。
  • @Fandango68 我希望它区分大小写。

标签: sql-server case-sensitive master-data-services


【解决方案1】:

当您设置 MDS 配置时,您可能会勾选区分大小写。

回到那里修复它。

对我来说,这是最好的方法。确保数据库中的所有对象也具有相同的排序规则:

检查服务器排序规则

SELECT SERVERPROPERTY('COLLATION')

检查数据库排序规则

SELECT DATABASEPROPERTYEX('AdventureWorks', 'Collation') SQLCollation;

检查列排序规则

select table_name, column_name, collation_name
from INFORMATION_SCHEMA.COLUMNS
where table_name = @table_name

如果数据库有来自 DBA 的限制,或者你没有所有的权限,你可能别无选择,只能自己在代码中指定排序规则:

SELECT * FROM tbl where x = 'y' COLLATE sql_latin1_general_cp1_cs_as

【讨论】:

  • 我希望我的数据库能够识别大小写的变化,所以我确实希望它区分大小写。我的问题是,我可以将现有的不区分大小写的数据库更改为区分大小写。如果是,如何,如果不是,为什么。
猜你喜欢
  • 2015-03-05
  • 2011-08-28
  • 2014-02-22
  • 2011-04-08
  • 1970-01-01
  • 2013-08-05
  • 1970-01-01
  • 1970-01-01
  • 2014-11-25
相关资源
最近更新 更多