数据仓库排序规则

适用于:✅ Microsoft Fabric 中的仓库

Fabric 数据仓库支持区分大小写和不区分大小写的排序规则。 支持的仓库排序规则包括:

  • Latin1_General_100_BIN2_UTF8 (默认值)(区分大小写)
  • Latin1_General_100_CI_AS_KS_WS_SC_UTF8 (不区分大小写)

新仓库和所有 SQL 分析终结点都基于工作区的数据仓库默认排序规则设置进行配置,默认为区分大小写的排序 Latin1_General_100_BIN2_UTF8规则。

更改工作区级排序规则不会影响现有仓库或 SQL 分析终结点。 跨仓库查询可能会在具有不同排序规则的项之间遇到错误或意外的查询结果。

若要创建不区分大小写的排序规则的仓库,请执行以下作:

重要

创建仓库或 SQL 分析终结点后,无法更改排序规则。

修改 Fabric 数据仓库的工作区默认排序规则

本部分介绍如何在工作区级别为仓库配置默认排序规则,设置会影响所有仓库和 SQL 分析终结点项。

Permissions

  • Fabric 工作区角色的成员管理员、成员、参与者:可以从工作区设置面板更改工作区排序规则。
  • 查看者:可以查看排序规则设置,但无法修改它们。

在 Fabric 门户中更改 Fabric 数据仓库的工作区默认排序规则

  1. 转到 Microsoft Fabric 工作区。
  2. 打开工作区 设置
  3. “工作区设置 ”窗口中,选择 “数据仓库 ”选项卡。
  4. 选择 “排序规则 ”页。
  5. 在“区分大小写”下,选择“区分大小写”(Latin1_General_100_BIN2_UTF8)或“不区分大小写”(Latin1_General_100_CI_AS_KS_WS_SC_UTF8)。 使用此工作区中创建 的任何新 仓库和 SQL 分析终结点项都将使用所选的工作区排序规则创建。
  6. 创建仓库后,在 Fabric 查询编辑器 中使用以下 T-SQL 语句来确认仓库的排序规则:
    SELECT name, collation_name FROM sys.databases;
    

注释

新的镜像 SQL Server 数据库、镜像 SQL 托管实例数据库、镜像 Azure SQL 数据库或 Fabric 中的 SQL 数据库的新 SQL 分析终结点项使用 Fabric 工作区排序规则,而不是父项的排序规则。

使用 REST API 创建具有非默认排序规则的仓库

本部分介绍如何使用 Visual Studio Code 通过 REST 客户端扩展创建具有非默认排序规则的仓库。

API 终结点

若要使用 REST API 创建仓库,请使用 API 终结点:POST https://api.fabric.microsoft.com/v1/workspaces/<workspace-id>/items

下面是用于创建仓库的示例 JSON 请求正文,包括参数中的 defaultCollation 仓库排序规则:

{ 
  "type": "Warehouse", 
  "displayName": "CaseInsensitiveAPIDemo", 
  "description": "New warehouse with case-insensitive collation", 
  "creationPayload": { 
    "defaultCollation": "Latin1_General_100_CI_AS_KS_WS_SC_UTF8" 
  } 
}

使用 Visual Studio Code 调用 REST API

可以使用 Visual Studio CodeREST 客户端扩展轻松创建具有非默认排序规则的新仓库。 执行以下步骤:

  1. 如果尚未下载,请下载并安装 Visual Studio Code 以下载并安装应用程序。

  2. 安装 REST 客户端 - Visual Studio Marketplace

  3. 在 VS Code 中创建一个带有 .http 扩展名的新文本文件。

  4. 在文件正文中输入请求详细信息。 标头和正文之间应有一个空格,放置在“授权”行后面。

      POST https://api.fabric.microsoft.com/v1/workspaces/<workspaceID>/items HTTP/1.1
      Content-Type: application/json
      Authorization: Bearer <bearer token>
    
    { 
       "type": "Warehouse", 
       "displayName": "<Warehouse name here>", 
       "description": "<Warehouse description here>", 
       "creationPayload": { 
         "defaultCollation": "Latin1_General_100_CI_AS_KS_WS_SC_UTF8" 
       } 
     }
    
  5. 替换占位符值:

    • <workspaceID>:在 /groups/ 节后的 URL 中查找工作区 GUID,或者通过在现有仓库中运行 SELECT @@SERVERNAME 来查找。
    • <bearer token>:按照以下步骤获取持有者令牌:
      1. 在浏览器中打开 Microsoft Fabric 工作区(Microsoft Edge)。
      2. 按 F12 打开开发人员工具。
      3. 选择“控制台”选项卡。如有必要,选择“展开快速视图”以显示控制台提示符 >
      4. 输入命令 powerBIAccessToken,然后按 Enter。 右键单击控制台中返回的大型唯一字符串,然后选择 “复制字符串内容”。
      5. 将其粘贴到 <bearer token> 的位置。
    • <Warehouse name here>:输入所需的仓库名称。
    • <Warehouse description here>:输入所需的仓库描述。
  6. 在 VS Code 编辑器中选择 POST 命令上方显示的“发送请求”链接。

  7. 应收到状态代码 为 202 Accepted 的响应,以及 POST 请求的其他详细信息。

  8. 在 Fabric 门户中转到新创建的仓库。

  9. 在查询编辑器中执行以下 T-SQL 语句,确认仓库的排序规则与 JSON 中指定的排序规则一致:

    SELECT name, collation_name FROM sys.databases;