SQL Server Management Studio - 登录错误 <令牌标识的主体>

1 ssms azure sql-server-2008 azure-active-directory azure-data-studio

  1. 我有一个 Azure SQL Server 资源,我是该资源的 Azure AD 管理员。我已向另一个无法通过 SQL Server Management Studio 访问数据库的用户提供了资源访问“贡献者”,因为他使用正确的服务器和数据库名称以及使用 MFA 选项的 Azure 身份验证收到以下错误:

在此输入图像描述

  1. 然后,我们想到切换到Azure Data Studio,不知何故数据库已连接到那里,但在那里,问题是用户无法更改表设计,因为弹出以下错误:

在此输入图像描述

可以采取什么措施来至少解决其中一个问题?

  1. 对于 ADS 和 SSMS,用户是在数据库中创建的,具有 db_datareader、db_datawriter 和 db_ddladmin 权限。他对 Azure SQL Server 实例具有贡献者角色。

  2. 在SSMS中,有时在连接到数据库时,它会访问尝试连接到主数据库的数据库。我们尝试手动输入数据库名称,但仍然出现相同的错误。

  3. 在 SQL Server -> Azure AD 管理员 -> 我什至尝试将该用户设置为管理员,即使 SSMS 显示相同的错误。

请帮忙。

Pra*_* KV 5

对于使用 MFA 到 Azure SQL Server 的 SSMS 连接

如果您从 SSMS 连接,您可能还需要更改默认数据库选项。默认情况下,它将尝试连接到主数据库,其中该用户可能不存在,因为 AAD 用户包含在每个用户数据库内。

  1. 在 SSMS Connect Explorer > 选项 - 连接属性 - 提供数据库名称,并在登录选项卡 > 身份验证为 Azure AD - 与 MFA 通用,用户名是您的 Azure 帐户用户名。

    在此输入图像描述

    在此输入图像描述

  2. 我已在 Azure 门户中将我的用户设置为 SQL Server 管理员。

  3. 在创建 SQL Server 时,选择了 Azure 提供的示例数据库,我更改了表的设计,它按预期工作。

对于 Azure Data Studio 到 Azure SQL Server 的连接
我在 Data Studio Explorer 中给出了以下详细信息以进行连接,并且连接成功:

在此输入图像描述

向现有表添加一列:

在此输入图像描述

结果

在此输入图像描述

笔记

  1. 要将 SQL Server 身份验证用作具有通用 MFA 的 Azure AD,用户帐户必须是 Azure AD 帐户。
  2. 将该用户设置为 Azure SQL - AD 管理员,并按照@ Junnas此处所说的步骤操作- 创建具有授予权限的用户,以便使用数据库角色或数据库权限来处理数据库。
  3. 另外Contributor,通过转到 Azure 门户 > SQL Server > 访问控制 > 添加角色分配到 或 ,SQL Server Contributor将角色授予 Azure SQL Server 实例级别上的该用户SQL DB Contributor

在此输入图像描述

  • 指定数据库就可以了。 (2认同)