2012-03-14 107 views
0

我使用以下脚本步骤在SQL Azure中创建了一个新的数据库用户帐户,但是,从“admin”登录更改我的连接字符串(EF 4.1)给出我是一个“登录失败”的例外。这是一个WinForm“沙盒”应用程序,当我使用我的Azure管理登录时可以使用。用户'xyz'登录失败 - 用新的SQL Azure用户帐户

[连接到master db] CREATE LOGIN xyz WITH password ='fakepassword';

[连接到DB,我想添加用户 - NOT master] CREATE USER xyzuser FROM LOGIN xyz;

EXEC sp_addrolemember'db_datareader','xyzuser';

EXEC sp_addrolemember'db_datawriter','xyzuser';

为什么我不能登录?我似乎正在做所有正确的步骤。我有SSMS 2008(不是SSMS 2008 R2),所以我正在通过Azure门户进行所有用户设置。

感谢, 兰迪

回答

0

如何尝试通过脚本

EXEC sp_addrolemember 'db_owner', 'xyzuser'

+0

这并没有解决问题。我似乎在登录时得到了异常,这在我实际尝试访问任何对象(即表)时发生。 – 2012-03-15 13:46:32

+0

你能否提供你得到的例外的细节。 – 2012-03-19 01:38:28

0

的DBO分配给您的用户对于其他人的参考,我回答我的问题。

我的问题是我设置了连接字符串并使用“用户”作为“用户ID”值。这部分源于我在SQL Server中花费很少时间进行DBA活动的事实。因为我的SQL命令脚本是“CREATE USER xyzuser ...”,所以我将“xyzuser”作为“用户ID”插入到连接字符串中。我知道......呃!只要我从“CREATE LOGIN xyz ...”使用“xyz”作为用户ID,一切都奏效了。