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

使用服务主体通过VSCode连接Azure SQL Database遇问题求助

解决VSCode连接Azure SQL的Active Directory服务主体身份验证问题

方法一:官方SQL Server (mssql)扩展正确配置流程

你之前试过的官方SQL Server (mssql)扩展其实支持AD服务主体验证,可能是配置步骤没走对:

  • 打开命令面板(Ctrl+Shift+P),输入MS SQL: Connect
  • 选Create Connection Profile,按提示输入服务器地址(格式:xxx.database.windows.net)
  • 身份验证类型挑Azure Active Directory - Service Principal
  • 依次输入:
    • 服务主体的客户端ID(也就是Application ID)
    • 服务主体的客户端密钥(Client Secret)
    • Azure AD的租户ID
    • 目标数据库名称(可选,留空连默认库)
  • 保存配置后尝试连接就行

连接失败的话先查这几点:

  • 服务主体有没有被授予Azure SQL的访问权限(比如在数据库里加了用户并分配角色)
  • 客户端密钥是不是有效没过期
  • 租户ID、客户端ID有没有输错

方法二:通过VSCode配置文件预填参数

不想每次手动输入的话,直接在VSCode设置里配置连接参数:

  1. 打开设置(Ctrl+,),搜索mssql.connections
  2. 添加如下配置(替换成你的实际信息):
{
  "server": "你的服务器地址",
  "database": "你的数据库名",
  "authenticationType": "AzureADServicePrincipal",
  "options": {
    "encrypt": true
  },
  "clientId": "服务主体客户端ID",
  "clientSecret": "服务主体客户端密钥",
  "tenantId": "租户ID"
}

保存后重新发起连接即可。

方法三:借助Azure CLI获取令牌连接

要是上面的方法都不行,试试用Azure CLI先拿令牌再连接:

  1. 用服务主体登录Azure CLI:
az login --service-principal -u <客户端ID> -p <客户端密钥> --tenant <租户ID>
  1. 获取SQL数据库的访问令牌:
az account get-access-token --resource https://database.windows.net/
  1. 在VSCode的mssql扩展里选Azure Active Directory - Access Token,把拿到的令牌粘贴进去,再输入服务器和数据库名就能连接了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 15:43:17