Azure Synapse Analytics 中对专用 SQL 池(以前称为 SQL DW)的数据库排序规则支持

新建专用 SQL 池(以前称为 SQL DW)时,可以从 Azure 门户更改默认数据库排序规则。 利用此功能,可以更轻松地使用 3800 个受支持的数据库排序规则之一创建新数据库。

本文适用于专用 SQL 池(之前称为 SQL DW),有关 Azure Synapse 工作区中的专用 SQL 池的详细信息,请参阅 Synapse SQL 支持的排序规则类型

排序规则为基于字符的数据类型提供区域设置、代码页、排序顺序和字符敏感度规则。 选择以后,需要排序规则信息的所有列和表达式会从数据库设置中继承所选排序规则。 可以重写默认继承,只需为基于字符的数据类型显式声明另一个排序规则即可。

注意

在 Azure Synapse Analytics 中,查询文本(包括变量和常数等)始终使用数据库级别排序规则进行处理,而不是像在其他 SQL Server 产品/服务中一样使用服务器级别排序规则进行处理。

查看当前排序规则

若要查看数据库的当前排序规则,可运行以下 T-SQL 代码片段:

SELECT DATABASEPROPERTYEX(DB_NAME(), 'Collation') AS Collation;

'Collation' 作为属性参数传递时,DatabasePropertyEx 函数将返回指定数据库的当前排序规则。 有关详细信息,请参阅 DATABASEPROPERTYEX

选择排序规则

若要更改默认排序规则,请更新 SQL 池创建期间预配体验中的“排序规则”字段。 例如,如果要将默认排序规则更改为区分大小写,请将门户预配体验中的排序规则从 SQL_Latin1_General_CP1_CI_AS 修改为 SQL_Latin1_General_CP1_CS_AS。 或者,可以在 ARM 模板中修改排序规则。

注意

在现有数据库上不能更改排序规则。 如果需要在 SQL 池级别使用不同的排序规则,请使用所需的排序规则创建新的 SQL 池。

排序规则支持

下表显示了哪些服务支持哪些排序规则类型。

排序规则或排序规则类型 无服务器 SQL 池 专用 SQL 池 - 数据库及列级别 专用 SQL 池 - 外部表(本机支持) 专用 SQL 池 - 外部表 (Hadoop/PolyBase)
非 UTF-8 排序规则
UTF-8 No
Japanese_Bushu_Kakusu_140_* No
Japanese_XJIS_140_* No
SQL_EBCDIC1141_CP1_CS_AS No No No No
SQL_EBCDIC277_2_CP1_CS_AS No No No

在以下文章中可以找到有关专用 SQL 池和无服务器 SQL 池最佳做法的更多信息: