我只是尝试按照此处的步骤操作,以便可以从 C# 查询 Azure Analysis Services 模型。但在 SQL Server Management Studio 中,使用“Active Directory - 密码”身份验证时,我无法连接到服务器,并收到错误消息“无法使用提供的凭据获取身份验证令牌...”
我尝试使用 Analysis Services 管理员中显示的用户名,如下所示:john.doe_outlook.com#EXT#@johndoeoutlook.onmicrosoft.com 以及与 Azure 帐户关联的 Outlook 电子邮件地址,其格式为 [电子邮件受保护]。
我使用的密码也是我的Microsoft帐户密码。通过研究,我从来没有弄清楚我应该输入什么密码,我从哪里得到它?或者我到底需要在这里做什么才能成功连接?
我尝试的两个用户名都会导致以下消息:
无法使用提供的凭据获取身份验证令牌。 如果您的 Active Directory 租户管理员已配置 多重身份验证或者如果您的帐户是 Microsoft 帐户, 请从连接字符串中删除用户名和密码, 然后重试。然后系统应该提示您输入您的凭据。 (微软.AnalysisServices.AdomdClient)
如果我输入 john.doe_outlook.com#EXT#@johndoeoutlook.onmicrosoft.com 作为用户名,我会收到以下消息:
user_realm_discovery_failed:用户领域发现失败(Microsoft.IdentityModel.Clients.ActiveDirectory)
远程服务器返回错误:(400) 错误请求。 (系统)
如果我输入 [电子邮件受保护] 作为用户名,我会收到以下消息:
序列不包含元素 (Microsoft.IdentityModel.Clients.ActiveDirectory)
我通过创建一个新的应用程序注册并选择解决了这个问题 “任何组织目录中的帐户和个人 Microsoft 帐户(例如 Skype、Xbox、Outlook.com)” 而不是 “仅此组织目录中的帐户(默认目录)”。 当我连接到 SSMS 中的服务器时,我选择支持 MFA 的 Active Directory,而不是 Active Directory-密码,然后输入 [电子邮件受保护]。并且它连接起来。