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

使用pyodbc通过Microsoft Intra ID MFA连接SQL Server失败求助

解决pyodbc通过MFA认证连接SQL Server的问题

你的核心问题是:MFA认证的Microsoft Entra ID账号无法通过纯账号密码方式登录SQL Server,这类账号要求走Entra ID的多因素验证流程,而非传统的SQL Server身份验证逻辑。以下是适配MFA的连接方案:

方案:使用ActiveDirectoryInteractive认证方式

这是ODBC驱动支持的、适配MFA认证的标准方式,会触发交互式验证(比如弹出MFA验证窗口、短信验证码等),和你在Azure Data Studio中使用的认证逻辑一致。

修改后的Python代码:

import pyodbc

server = 'your-server-name'
database = 'your-database-name'
driver = '{ODBC Driver 18 for SQL Server}'

# 适配MFA的连接字符串,去掉PWD参数,添加Authentication指定认证方式
conn_str = f'DRIVER={driver};SERVER={server};DATABASE={database};Authentication=ActiveDirectoryInteractive'

# 如果需要指定特定的Entra ID账号(而非当前系统登录账号),可以加上UID参数:
# conn_str = f'DRIVER={driver};SERVER={server};DATABASE={database};UID=your-username@your-domain.com;Authentication=ActiveDirectoryInteractive'

conn = pyodbc.connect(conn_str)

关键说明

  • 无需保留PWD参数:MFA账号的密码无法单独用于登录,必须通过Entra ID的验证流程完成身份确认
  • 驱动版本要求:确保使用ODBC Driver 17 for SQL Server及以上版本(你当前使用的18版本完全满足)
  • 验证流程:运行脚本后,会自动弹出MFA验证窗口(或通过手机/App发送验证请求),完成验证后即可成功连接

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 17:52:43