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

求基于Microsoft.Data.SqlClient与托管身份的SQL连接官方文档

使用托管身份通过Microsoft.Data.SqlClient连接Azure SQL数据库
  • 安装必要的NuGet包:确保项目中安装了Microsoft.Data.SqlClient包(推荐版本2.1.0及以上,该版本开始支持Azure AD托管身份认证)
  • 配置SQL数据库权限:
    • 在Azure门户中,将你的App Service托管身份(系统分配或用户分配)添加为目标SQL数据库的对应角色(如db_datareader、db_datawriter)
    • 或通过SQL语句手动配置:
      CREATE USER [你的托管身份显示名称] FROM EXTERNAL PROVIDER;
      -- 按需添加角色权限
      ALTER ROLE db_datareader ADD MEMBER [你的托管身份显示名称];
      ALTER ROLE db_datawriter ADD MEMBER [你的托管身份显示名称];
      
  • 代码连接示例:
    using Microsoft.Data.SqlClient;
    using System;
    
    // 系统分配托管身份连接字符串
    var connectionString = "Server=tcp:你的SQL服务器名.database.windows.net,1433;Database=你的数据库名;Authentication=Active Directory Managed Identity;";
    
    // 如果是用户分配托管身份,需添加User ID参数
    // var connectionString = "Server=tcp:你的SQL服务器名.database.windows.net,1433;Database=你的数据库名;Authentication=Active Directory Managed Identity;User ID=用户分配托管身份的客户端ID;";
    
    using (var connection = new SqlConnection(connectionString))
    {
        try
        {
            connection.Open();
            Console.WriteLine("数据库连接成功");
            // 在这里执行查询、插入等数据库操作
        }
        catch (Exception ex)
        {
            Console.WriteLine($"连接失败:{ex.Message}");
        }
    }
    
  • 核心要点:连接字符串通过Authentication=Active Directory Managed Identity指定使用托管身份认证,无需硬编码用户名和密码;用户分配托管身份需额外指定User ID参数为身份的客户端ID。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 15:50:23