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 是的 是的
Japanese_Bushu_Kakusu_140_* 是的 是的
Japanese_XJIS_140_* 是的 是的
SQL_EBCDIC1141_CP1_CS_AS
SQL_EBCDIC277_2_CP1_CS_AS

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