0

我有一个名为“myCloudServer”的 azure sql 服务器,并在其中创建了 2 个数据库,DB1 和 DB2。我是管理员,所以我使用服务器管理员“pt_admin”来创建和管理这两个数据库。我想为另一个人提供“读取权限”,让他可以登录并进行各种“选择”查询。

我连接到主数据库并执行以下命令:

CREATE LOGIN readonlylogin WITH password='1231!#ASDF!a';

CREATE USER readonlyuser FROM LOGIN readonlylogin;

然后我进入 DB1 和 DB2 并为每个数据库执行以下命令:

CREATE USER readonlyuser FROM LOGIN readonlylogin;

EXEC sp_addrolemember 'db_datareader', 'readonlyuser';

“pt_admin”用户成功执行了所有命令。之后,我尝试使用以下凭据进行连接(SQL Auth):

username: readonlyuser 
password: 1231!#ASDF!a

并且由于某种原因失败并显示一条消息

cannot connect to "myCloudServer" and that the login failed for user "readonlyuser". Error Code 18456

请注意,我确保已将我的 IP_Address 添加到 azure 的防火墙中。

知道如何调试或解决此问题吗?

4

1 回答 1

1

错误代码 18456

错误代码 18456 表示用户登录失败

正如 Amit Sukralia 提到的,在您的情况下readonlyuser与数据库级别有关,您不能使用它来连接服务器。

您可以使用readonlylogin连接服务器。

您还可以使用SQL Server Management Studio (SSMS)进行检查。

在此处输入图像描述

于 2018-05-15T05:44:50.350 回答