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

使用SSMS创建Azure SQL Database Scoped Credential报错,求排查原因

解决Azure SQL中创建Database Scoped Credential的语法错误问题

我来帮你排查这个困扰你的语法错误!你遇到的"Incorrect syntax near 'cred-name'. Expected '='."报错,大概率是以下几个原因之一,咱们逐个验证解决:

1. 隐藏的格式或特殊字符问题

有时候复制粘贴语句时,会不小心带入全角空格、不可见控制字符,甚至误用到中文方括号(虽然你写的是[cred-name],但还是要确认符号全为英文半角)。解决方法:

  • 手动重新敲一遍语句,确保所有括号、空格、符号都是英文半角格式;
  • 检查[cred-name]和WITH之间的空格是正常半角空格,没有多余的奇怪字符。

2. SSMS IntelliSense缓存残留(升级版本也可能存在)

升级SSMS后,旧的IntelliSense缓存可能还在干扰语法解析逻辑。试试清除缓存:

  • 在SSMS顶部菜单点击 编辑 → IntelliSense → 刷新本地缓存;
  • 等待缓存刷新完成后,重新执行创建凭据的语句。

3. 不必要的方括号或标识符命名问题

如果你的凭据名称cred-name没有包含空格、SQL保留字或者特殊字符,完全可以去掉方括号简化语句试试:

CREATE DATABASE SCOPED CREDENTIAL cred-name WITH IDENTITY = db-user, SECRET = 'password'

如果名称确实需要方括号(比如带空格),确保方括号是英文的,且没有嵌套错误或拼写失误。

4. 上下文数据库选错了

Database Scoped Credential是数据库级别的对象,你需要确保当前连接的是目标用户数据库,而非master数据库。可以先执行以下语句切换上下文:

USE YourTargetDatabase;
GO

之后再执行创建凭据的语句。

5. 前置语句未正确结束

如果在执行这个CREATE语句之前,还有其他未完成的SQL语句(比如没加分号结尾的SELECT/UPDATE),会导致语法解析混乱。检查查询窗口的所有语句,确保前面的语句都以分号;结尾,或者单独选中创建凭据的语句执行。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 07:29:10