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

Azure Synapse无服务器SQL池创建数据库范围凭据报错如何解决?

修正Azure Synapse无服务器SQL池创建数据库范围凭据的语法错误

Azure Synapse无服务器SQL池的CREATE DATABASE SCOPED CREDENTIAL语法和专用SQL池存在差异,不能随意指定自定义的IDENTITY值,必须根据使用场景选择合法的标识类型,以下是不同场景下的正确写法:

场景1:使用共享访问签名(SAS)访问外部存储

如果凭据用于通过SAS令牌访问Azure存储(如Blob存储、ADLS Gen2),IDENTITY必须固定为'SHARED ACCESS SIGNATURE',示例语句:

CREATE DATABASE SCOPED CREDENTIAL myCredential
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
    SECRET = '你的SAS令牌(注意移除令牌开头的?符号)';

场景2:使用Azure AD服务主体

若使用Azure AD服务主体进行身份验证,IDENTITY需填写服务主体的应用程序ID,SECRET为服务主体的客户端密码:

CREATE DATABASE SCOPED CREDENTIAL myCredential
WITH IDENTITY = '<Azure AD服务主体应用程序ID>',
    SECRET = '<服务主体客户端密码>';

场景3:使用Synapse托管身份

如果使用Synapse工作区的系统托管身份,IDENTITY固定为'Managed Identity',且不需要指定SECRET:

CREATE DATABASE SCOPED CREDENTIAL myCredential
WITH IDENTITY = 'Managed Identity';

错误原因说明

你原语句中使用自定义字符串'test'作为IDENTITY值,这在无服务器SQL池中是不被允许的,无服务器池要求IDENTITY必须是上述几种预定义的合法标识类型,因此触发了语法错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 13:34:59