You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Microsoft Fabric DW中创建DDL用户及数据加载专用用户?

在Microsoft Fabric DW中创建DDL用户及服务主体连接方案

一、创建DDL用户

要创建拥有DDL权限的用户,按以下操作执行:

  • 确保你具备Fabric工作区管理员或Fabric DW管理员权限。
  • 用有权限的账号通过Fabric门户的SQL查询编辑器,或支持Fabric的SQL客户端连接到目标数据仓库。
  • 执行SQL语句创建Azure AD用户/组:
    CREATE USER [目标用户名/组名] FROM EXTERNAL PROVIDER;
    
  • 分配DDL权限,可直接赋予内置角色:
    ALTER ROLE db_ddladmin ADD MEMBER [目标用户名/组名];
    
    也可按需精细授权(以创建、修改、删除表为例):
    GRANT CREATE TABLE, ALTER, DROP ON SCHEMA::[目标架构名] TO [目标用户名/组名];
    

二、用服务主体实现无SQL身份验证的程序化数据加载

完全可以通过服务主体解决这个需求,操作步骤如下:

  1. 在Azure AD中注册服务主体,保存好客户端ID、客户端密钥(或证书)和租户ID。
  2. 进入Fabric工作区,将该服务主体添加为工作区成员,分配Data Warehouse Contributor或Contributor角色(确保拥有数据加载及必要DDL权限)。
  3. 使用服务主体身份连接Fabric DW:
    • 工具端:在SQL客户端/ETL工具中选择「Azure AD服务主体」认证方式,填入租户ID、客户端ID和客户端密钥即可连接。
    • 代码端(以Python pyodbc为例):
      import pyodbc
      conn_str = (
          "Driver={ODBC Driver 18 for SQL Server};"
          "Server=tcp:<Fabric DW服务器地址>.database.windows.net,1433;"
          "Database=<Fabric DW名称>;"
          "Authentication=ActiveDirectoryServicePrincipal;"
          "UID=<服务主体客户端ID>;"
          "PWD=<服务主体客户端密钥>;"
      )
      conn = pyodbc.connect(conn_str)
      
  4. 给服务主体分配仓库内权限:
    连接成功后执行以下SQL,完成用户创建和权限赋予:
    CREATE USER [服务主体名称] FROM EXTERNAL PROVIDER;
    -- 同时赋予DDL和数据写入权限
    ALTER ROLE db_ddladmin ADD MEMBER [服务主体名称];
    ALTER ROLE db_datawriter ADD MEMBER [服务主体名称];
    

内容的提问来源于stack exchange,提问作者Fjurg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 02:52:28