我在SQL Azure中使用以下脚本步骤创建了一个新的数据库用户帐户,但是,从“admin”登录名更改我的连接字符串(EF 4.1)会给我一个“登录失败”异常。这是一个WinForm“沙盒”应用程序,当我使用Azure管理员登录时,它可以工作。
[连接到主数据库] 使用password ='fakepassword'创建登录xyz;
[连接到我要添加用户的DB - NOT master] 创建用户xyzuser FROM LOGIN xyz;
EXEC sp_addrolemember'db_datareader','xyzuser';
EXEC sp_addrolemember'db_datawriter','xyzuser';
为什么我不能登录?我似乎正在做所有正确的步骤。我有SSMS 2008(不是SSMS 2008 R2),因此我通过Azure门户进行所有用户设置。
谢谢, 好色
答案 0 :(得分:0)
如何通过脚本
尝试将DBO分配给您的用户 EXEC sp_addrolemember 'db_owner', 'xyzuser'
答案 1 :(得分:0)
作为其他人的参考,我正在回答我自己的问题。
我的问题是我正在设置连接字符串并使用“USER”作为“用户ID”值。这部分源于我花了很少时间在SQL Server中进行DBA活动。因为我的SQL命令脚本是“CREATE USER xyzuser ...”,所以我将“xyzuser”作为“用户ID”插入连接字符串。我知道......呃!一旦我使用“xyz”作为“CREATE LOGIN xyz ...”中的用户ID,一切正常。