SQL Server Data Tools (SSDT) 中的 Microsoft Entra ID 支持

适用于:Azure SQL 数据库 Azure Synapse Analytics Microsoft Fabric SQL 数据库

SQL Server Data Tools (SSDT) 利用 Microsoft Entra ID(之前的 Azure Active Directory)提供多种身份验证方法。

注意

虽然 Microsoft Entra ID 是 Azure Active Directory (Azure AD) 的新名称,但为了防止中断现有环境,Azure AD 仍保留在一些硬编码的元素中,例如 UI 字段、连接提供程序、错误代码和 cmdlet。 在本文中,这两个名称可以互换。

在 Visual Studio 中,打开“SQL Server 对象资源管理器”(在“视图”菜单中),然后选择“添加 SQL Server” :

SSDT 连接对话框的屏幕截图。

哪些 Azure SQL 产品?

本文介绍 Azure 云中下列 SQL 产品的 Microsoft Entra ID:

Microsoft Entra 密码身份验证

Active Directory 密码验证机制,能连接到之前列出的 Azure SQL 产品。 该机制使用 Microsoft Entra ID 中的标识。 以下情况下使用此方法进行连接:

  • 使用来自未与 Azure 联合的域的凭据登录到 Windows,或者
  • 基于初始域或客户端域,将 Microsoft Entra 身份验证与 Microsoft Entra ID 配合使用。

有关详细信息,请参阅使用 Microsoft Entra 身份验证连接到 SQL 数据库

Microsoft Entra 集成身份验证

Active Directory 集成身份验证机制,使用 Azure Active Directory (Azure AD) 中的标识,连接到列出的 Azure SQL 产品。 如果从受信任的域使用 Microsoft Entra 凭据登录到 Windows,请使用此方法连接。 有关详细信息,请参阅使用 Microsoft Entra 身份验证连接到 Azure SQL 数据库

Active Directory 交互式身份验证

使用 SSDT 连接到列出的 Azure SQL 产品时,Active Directory 交互式身份验证可用,但仅用于 .NET Framework 4.7.2 或更高版本

多重身份验证

Active Directory 交互式身份验证支持交互式身份验证,以便能够使用 Microsoft Entra 多重身份验证向列出的 Azure SQL 产品进行身份验证。 此方法支持本机和受信任的 Microsoft Entra 用户,以及其他帐户的来宾用户。 其他类型的帐户包括:

  • 企业对企业 (Microsoft Entra B2B)用户。
  • 来自 Outlook 和 Windows Live Mail 等提供程序的 Microsoft 帐户。
  • 非 Microsoft 帐户,如 Gmail。

如果指定 MFA 方法,必须指定“用户名”,“密码”字段已禁用 。

密码输入

使用 Active Directory 交互式身份验证 进行验证时,会打开一个身份验证窗口,要求用户手动输入密码。 Microsoft Entra ID 通过此附加 MFA 弹出窗口强制执行 MFA。

注意

使用 Active Directory 交互式身份验证将阻止自动化工作流。 必须存在以手动输入密码的形式与身份验证过程进行交互的人员。

已知问题和限制

  • Active Directory 交互式身份验证只支持连接到本文开头列出的 Azure SQL 产品。
  • SSDT 不支持单一登录和当前登录的Visual Studio 帐户集成。
  • 安装 Visual Studio SQL 时,Package.exe 的安装位置为扩展目录,但并不应在该位置使用。 要同时使用 SQLPackage.exe 和 Microsoft Entra ID,请转到数据层应用程序框架