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

如何创建指向SQL Server非默认架构对象的Azure Data Explorer外部表?

在Azure Data Explorer中创建指向SQL Server非默认架构视图的外部表(无需修改用户默认架构)

无需修改连接用户的默认架构,有两种可行方案:

方案1:在table参数中用方括号包裹架构+视图名

直接将架构名与视图名组合,用方括号包裹后填入table参数,示例代码如下:

.create-or-alter external table ABC (
    -- 此处填写列定义,例如:
    Id:int,
    Name:string
)
kind = sql
table = ['XYZ.ABC']
(
    h@"Server=tcp:<你的SQL服务器名>.database.windows.net,1433;Initial Catalog=ACME;Persist Security Info=False;User ID=ADX_Reader;Password=<你的密码>;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"
)

这种方式符合文档中“若表名包含点号,可使用['Name.of.the.table']表示法”的规则,本质是让ADX正确识别SQL Server中跨架构的对象引用。

方案2:在连接字符串中指定Current Schema参数

在SQL连接字符串里添加Current Schema=XYZ;,为当前连接会话设置默认架构,无需修改用户的永久默认架构,示例代码:

.create-or-alter external table ABC (
    -- 此处填写列定义
    Id:int,
    Name:string
)
kind = sql
table = ABC
(
    h@"Server=tcp:<你的SQL服务器名>.database.windows.net,1433;Initial Catalog=ACME;Persist Security Info=False;User ID=ADX_Reader;Password=<你的密码>;Current Schema=XYZ;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"
)

该参数会在连接生效时临时将会话的默认架构设为XYZ,仅对当前外部表的连接生效,不影响用户的全局默认架构设置。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 09:12:57