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

Azure SQL可否创建数据库链接访问Synapse Serverless SQL池

可行性结论

完全可行。Azure SQL数据库不需要依赖传统关系型数据库的database link组件,通过原生内置的PolyBase跨源查询能力,就可以直连Azure Synapse Analytics Serverless(按需)SQL Pool,实现本地Azure SQL财务数据表、和Synapse侧基于Data Lakehouse Parquet文件构建的外部表的关联查询。

前置要求
  • Azure SQL数据库服务层级需支持PolyBase能力:标准层S3及以上、业务关键层、超大规模层均默认支持,基础层、S0/S1/S2标准低层不支持该能力。
  • 网络连通:确保Azure SQL和Synapse Serverless SQL Pool之间网络可达,可根据自身网络架构选择公网白名单、VNet对等、私有端点对接任意一种连通方式。
  • 权限准备:提前准备好可访问Synapse Serverless目标库、对应Parquet外部表,以及外部表挂载的Data Lake存储路径的认证凭据(支持SQL账号、AAD服务主体两种认证方式)。
具体配置步骤
  1. 在Azure SQL目标库中创建数据库主密钥,用于加密存储跨源访问凭据:
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '自定义强加密密码';
  1. 创建数据库范围凭据,填入提前准备好的Synapse访问认证信息:
CREATE DATABASE SCOPED CREDENTIAL SynapseAccessCred
WITH 
  IDENTITY = 'Synapse侧登录账号/服务主体ID',
  SECRET = '对应账号密码/服务主体密钥';
  1. 创建指向Synapse Serverless SQL Pool的外部数据源:
CREATE EXTERNAL DATA SOURCE SynapseServerlessSource
WITH (
  TYPE = RDBMS,
  LOCATION = 'Synapse Serverless SQL Pool的连接端点,1433',
  DATABASE_NAME = 'Synapse侧存储Parquet外部表的数据库名',
  CREDENTIAL = SynapseAccessCred
);
  1. 为需要关联查询的Synapse侧Parquet外部表,在Azure SQL中创建结构完全对应的外部表映射。完成后即可直接编写T-SQL语句,通过JOIN关联Azure SQL本地财务集市表和映射后的外部表,实现跨源联合查询。
优化提示
  • 查询时尽量在WHERE条件中带上可下推的过滤字段,Azure SQL会自动将过滤逻辑下推到Synapse Serverless侧执行,避免全量拉取湖仓数据到Azure SQL侧计算,大幅提升查询性能。
  • 如果当前使用的Azure SQL服务层级不支持PolyBase,可换用Synapse Link for SQL将Azure SQL数据实时同步到Synapse侧,直接在Synapse Serverless池中完成两类数据的关联查询,无需在Azure SQL侧做额外配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 19:42:16