我正在尝试使Azure AD身份验证针对我的Azure SQL数据库工作。
接下来,我使用我的域帐户登录到SSMS以创建用户:
Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'. (.Net SqlClient Data Provider)
Server Name: zzzzz.database.windows.net
Error Number: 18456
Severity: 14
State: 1
Line Number: 65536
当我尝试使用xxxxx@yyy.com帐户登录时,我回来了:
CREATE USER [xxx@yyy.com] FROM EXTERNAL PROVIDER;
我想念什么?
奇怪的观察,如果我有意使用了错误的密码,我会得到以下错误信息: AADSTS70002:验证凭据时出错。 AADSTS50126:无效的用户名或密码,表明AD以某种方式起作用,但整个过程出现了问题。
另一个奇怪的发现: 如果我添加一个有效的AD帐户,它将成功
CREATE USER [xxxABC@yyy.com] FROM EXTERNAL PROVIDER;
如果我生成了错误的AD帐户
Principal 'xxxABC@yyy.com' could not be found or this principal type is not supported.
我回来了:
Project::with('tasks.tags')->get();
答案 0 :(得分:2)
来自“类似帖子”
当您未指定要连接的数据库时,将发生“匿名登录”错误。只需在SSMS登录屏幕上选择“选项”,然后输入要连接的数据库名称即可。 。这是因为您的用户是创建它的数据库中的包含用户。它在Master上不存在。 – Greg Grater '17 Mar 3'7 at 1:23
这解决了我的问题-浪费了很多时间!
注意:对于ODBC连接,用户也必须在master中创建