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

本地Visual Studio环境下.NET Core无密码连接Azure SQL的方法

无需存储密码连接Azure SQL的本地开发方案

针对.NET Core本地Visual Studio环境连接Azure SQL且不存储密码的需求,以下是几种可行方案:

1. 利用Azure AD交互式身份验证

这种方式依赖你的Azure AD工作/学校账户,运行时会通过弹窗或自动使用Visual Studio已登录的身份完成认证:

  • 连接字符串配置:
    Server=tcp:<你的SQL服务器名>.database.windows.net,1433;Database=<你的数据库名>;Authentication=Active Directory Interactive;
    
  • EF Core集成:
    在Program.cs中配置DbContext时直接使用该连接字符串即可,运行时若Visual Studio未登录对应Azure AD账号,会自动弹出登录窗口验证身份。

2. 使用Visual Studio已登录身份的集成认证

如果你的Visual Studio已经登录了拥有Azure SQL访问权限的Azure AD账户,可以用集成认证方式,无需手动输入凭据:

  • 连接字符串配置:
    Server=tcp:<你的SQL服务器名>.database.windows.net,1433;Database=<你的数据库名>;Authentication=Active Directory Integrated;
    
  • 注意:此方式要求你的本地机器已加入Azure AD域,或Visual Studio已关联有效的Azure AD账户,且该账户已被授予Azure SQL的访问权限(需在Azure Portal中为SQL服务器设置Azure AD管理员,或在数据库中创建对应Azure AD用户并分配权限)。

3. 通过Azure CLI获取访问令牌连接

先在本地通过Azure CLI登录(az login),然后获取Azure SQL的访问令牌,在代码中使用令牌建立连接:

  • 获取令牌命令:
    az account get-access-token --resource https://database.windows.net/
    
  • 代码中使用令牌:
    using System.Data.SqlClient;
    
    var token = "<从Azure CLI获取的令牌>";
    var connectionString = "Server=tcp:<你的SQL服务器名>.database.windows.net,1433;Database=<你的数据库名>;";
    using var conn = new SqlConnection(connectionString);
    conn.AccessToken = token;
    conn.Open();
    // 执行数据库操作
    
  • 这种方式适合自动化脚本或不想依赖Visual Studio身份的场景,且无需存储任何密码。

前置条件

无论使用哪种方案,都需要:

  • 你的Azure AD账户已被授予Azure SQL的访问权限(可在Azure Portal的SQL服务器“Azure AD管理员”中添加,或在数据库中执行CREATE USER [你的Azure AD账户] FROM EXTERNAL PROVIDER;并分配对应角色)。
  • 确保Azure SQL服务器的防火墙规则允许本地开发机器的IP访问。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 12:30:55