SQL Azure:新用户无法登录

时间:2017-08-22 14:52:05

标签: sql database azure

我正在尝试在SQL azure中创建一个新用户,我在SSMS中使用了以下方法:

On Master:

CREATE LOGIN TestConnectionLgn WITH password='xxxxxxxx';
GO
CREATE USER TestConnectionUsr FROM LOGIN TestConnectionLgn;
GO

在DB上:

CREATE USER TestConnectionUsr FROM LOGIN TestConnectionLgn;
GO
EXEC sp_addrolemember 'db_owner', 'TestConnectionUsr';
GO

我可以在数据库中看到用户:

UserName            RoleName    LoginName           DefDBName  DefSchemaName
TestConnectionUsr   db_owner    TestConnectionLgn   master     dbo  

但是当我从UDL文件或Management Studio测试我的连接时,我收到登录失败错误(即使我使用登录而不是用户))。它不是防火墙,因为我可以使用sa凭据登录,我做错了什么?

2 个答案:

答案 0 :(得分:0)

从SSMS连接时,是否单击选项按钮并更改连接到数据库:以目标用户可以在Azure中访问的数据库?连接到SQL Azure时,您无法在此处使用默认选项。

答案 1 :(得分:0)

我终于设法根据this article创建了我的用户。我认为主要的解决方法是在SSMS中选择数据库,右键单击并选择“新查询”,而不是在工具栏的下拉列表中更改数据库(我不知道为什么会这样,尽管我怀疑它与某些事情有关)在远程数据库服务器上传递数据库更改所花费的时间)。

对于那些追随我的人来说,这是完整的程序:

在对象资源管理器中右键单击主数据库,然后选择新查询

在查询窗口中编写并执行以下语句:

IF NOT EXISTS (SELECT * FROM sys.database_principals WHERE name = N'[MYNEWLOGIN])
 CREATE LOGIN [MYNEWLOGIN] WITH PASSWORD=N'[MYNEWPASSWORD]'
GO

在对象资源管理器中右键单击要添加新用户的数据库以选择新查询

在查询窗口中编写并执行以下语句:

CREATE USER [MYNEWLOGIN] FOR LOGIN [MYNEWLOGIN] WITH DEFAULT_SCHEMA=dbo
ALTER ROLE db_owner ADD MEMBER [MYNEWLOGIN]
GO

应该是它