【发布时间】:2016-05-18 03:28:54
【问题描述】:
TITLE:连接到服务器
无法连接到 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)
我有其他登录名可以成功连接到数据库。我尝试在我的数据库上执行以下操作,以确保有一个用户:
CREATE USER mydbusername
我收到一条错误消息:
Msg 15023, Level 16, State 1, Line 1
User, group, or role 'mydbusername' already exists in the current database
我通过登录主数据库验证了用户的存在。到了那里,我跑了: SELECT * FROM sys.sql_logins;
我想确保“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”权限。
我尝试通过网络上的管理屏幕登录。我能够成功登录并执行查询。但是,当我尝试通过 SQL Server Management Studio 登录时,我收到了上面的消息。我正在使用
mydbusername@ohimryXusa 用于“登录”字段。我已验证密码正确。我还验证了服务器名称是正确的。我究竟做错了什么?我真的需要这个,因为我从我的代码中得到了错误。谢谢!
【问题讨论】:
-
远射 - 但我怀疑 Azure 是否允许您访问主数据库(存储有关 SQL 实例上的用户数据库的所有信息的数据库)。您的对话框中的数据库名称不正确吗?
-
每个“Windows Azure SQL 数据库服务器”总是有一个“主”数据库。这个数据库确实被命名为“master”,它保存了当前服务器的所有用户凭据、防火墙规则、数据库使用统计信息。就 SQL Server 的常规本地安装而言,它不是 Master DB,但它是一个主数据库。
-
一个类似的问题回答了这个问题:stackoverflow.com/questions/6476828/…Chris