Login “无法打开数据库”;大师;关于sqlazure

Login “无法打开数据库”;大师;关于sqlazure,login,azure-sql-database,Login,Azure Sql Database,标题:连接到服务器 无法连接到tcp:ohimryXusa.database.windows.net,1433 其他信息: 你好, 我有一个SQLAzure数据库。这个数据库有一个用户名/登录名,我想用它来访问它。当我尝试通过SQL Server database Management Studio连接到数据库时,我收到一个错误,该错误表示: Cannot open database "master" requested by the login. The login failed. Login

标题:连接到服务器

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

其他信息:

你好,

我有一个SQLAzure数据库。这个数据库有一个用户名/登录名,我想用它来访问它。当我尝试通过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)
Msg 15023, Level 16, State 1, Line 1
User, group, or role 'mydbusername' already exists in the current database
我有其他可以成功连接到数据库的登录名。我尝试在我的数据库上执行以下操作,以确保有用户:

CREATE USER mydbusername
我收到一个错误,上面写着:

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)
Msg 15023, Level 16, State 1, Line 1
User, group, or role 'mydbusername' already exists in the current database
我通过登录主数据库来验证用户是否存在。一到那里,我就跑: 从sys.sql\u登录中选择*

我想确保“mydbusername”可以访问数据库。因此,我使用一个更私密的帐户登录到我的数据库并运行:

EXEC sp_addrolemember 'db_datareader', 'mydbusername'
EXEC sp_addrolemember 'db_datawriter', 'mydbusername'
EXEC sp_addrolemember 'db_owner', 'mydbusername'
消息说:命令已成功完成

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

我尝试通过网络上的管理屏幕登录。我能够成功登录并执行查询。但是,当我尝试通过SQLServerManagementStudio登录时,我收到了上面的消息。我正在使用


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

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


您可能需要参考。

因为Azure将数据库服务器用于多个数据库,您不能只登录到Management Studio(连接到对象资源管理器)

这将使您能够查看同一服务器上每个用户的数据库

为了避免这种情况,只需关闭启动时显示的初始登录提示对话框,并在关闭后单击“新建查询”

系统会提示您进行连接,但如果您转到“连接设置”并选择数据库作为初始目录,则您将能够从中编写(且仅限于)数据库脚本


没有对象资源管理器-但至少您可以直接编写数据库脚本。

我知道这是一个旧线程,但我可能会帮助其他面临相同问题的人…我在主数据库中创建了用户,但没有授予任何特殊权限-这解决了问题。看起来在Azure中,属于用户数据库的所有用户也应该出现在主数据库中

很长一段时间-但我怀疑Azure是否允许您访问主数据库(在SQL实例上存储有关用户数据库的所有信息的数据库)。对话框中的数据库名称是否不正确?每个“Windows Azure SQL数据库服务器”始终有一个“主”数据库。这个数据库实际上被命名为“master”,它保存了当前服务器、防火墙规则、数据库使用统计信息的所有用户凭据。就SQL Server的常规本地安装而言,它不是主数据库,而是主数据库