我正在尝试在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凭据登录,我做错了什么?
答案 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
应该是它