无法在 SQL Azure 上打开数据库“master”

use*_*192 4 authentication azure-sql-database

标题:连接到服务器

无法连接到 tcp:ohimryXusa.database.windows.net,1433。

附加信息:

你好,

我有一个 SQL Azure 数据库。该数据库有一个我想用来访问它的用户名/登录名。当我尝试通过 SQL Server Database Management Studio 连接到数据库时,收到一条错误消息:

Cannot open database "master" requested by the login. The login failed.
Login failed for user 'mydbusername'.
This session has been assigned a tracing ID of '00000000-0000-0000-0000-000000000000'.  Provide this tracing ID to customer support when you need assistance. (Microsoft SQL Server, Error: 4060)
Run Code Online (Sandbox Code Playgroud)

我有其他登录名可以成功连接到数据库。我尝试在数据库上执行以下命令,以确保存在用户:

CREATE USER mydbusername
Run Code Online (Sandbox Code Playgroud)

我收到一条错误消息:

Msg 15023, Level 16, State 1, Line 1
User, group, or role 'mydbusername' already exists in the current database
Run Code Online (Sandbox Code Playgroud)

我通过登录主数据库来验证用户是否存在。到达那里后,我运行: SELECT * FROM sys.sql_logins;

我想确保“mydbusername”有权访问数据库。因此,我使用更高权限的帐户登录到我的数据库并运行:

EXEC sp_addrolemember 'db_datareader', 'mydbusername'
EXEC sp_addrolemember 'db_datawriter', 'mydbusername'
EXEC sp_addrolemember 'db_owner', 'mydbusername'
Run Code Online (Sandbox Code Playgroud)

该消息表示:命令已成功完成。

此时,我们知道 a) 有一个名为“mydbusername”的用户。b) 有一个名为“mydbusername”的登录名。c) 我们知道“mydbusername”对数据库具有“db_datareader”、“db_datawriter”和“db_owner”权限。

我尝试通过网络通过管理屏幕登录。我能够成功登录并执行查询。但是,当我尝试通过 SQL Server Management Studio 登录时,我收到上述消息。我在用

mydbusername@ohimryXusa 用于“登录”字段。我已经验证密码是正确的。我还验证了服务器名称是否正确。我究竟做错了什么?我真的需要这个,因为我从代码中收到错误。谢谢你!

ast*_*kov 5

登录失败很可能是由错误的登录/密码组合引起的。请确保您在尝试登录时使用现有的LOGIN而不是USER !请注意,当您想要使用 SQL Server 进行身份验证时,必须使用创建的 LOGIN 而不是 USER。您必须找出与您的“mydbusername”关联的登录名。拥有用户是件好事,并且该用户被添加到不同的角色,但是没有关联登录的用户就没什么了。

您可能需要参考此文档