2012-03-14 146 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,一切都奏效了。