2012-06-17 33 views
2

TITLE無法打開數據庫 「大師」:連接到服務器可以對SQL Azure的

無法連接到TCP:ohimryXusa.database.windows.net,1433。

附加信息:

你好,

我有一個SQL Azure數據庫。這個數據庫有一個我想用來訪問它的用戶名/登錄名。當我嘗試連接到由SQL Server數據庫管理Studio中的數據庫,我收到一個錯誤,指出:

Cannot open database "master" requested by the login. The login failed. 
Login failed for user 'mydbusername'. 
This session has been assigned a tracing ID of '00000000-0000-0000-0000-000000000000'. Provide this tracing ID to customer support when you need assistance. (Microsoft SQL Server, Error: 4060) 

我有,我可以成功連接到與數據庫中的其他登錄。我想在我的數據庫執行以下,以保證有一個用戶:

CREATE USER mydbusername 

我收到一個錯誤,指出:

Msg 15023, Level 16, State 1, Line 1 
User, group, or role 'mydbusername' already exists in the current database 

我驗證通過登錄到主數據庫中存在的用戶。一旦出現,我跑了: SELECT * FROM sys.sql_logins;

我想確保'mydbusername'能夠訪問數據庫。所以,我登錄,以更加priveleged帳戶,到我的數據庫,跑:

EXEC sp_addrolemember 'db_datareader', 'mydbusername' 
EXEC sp_addrolemember 'db_datawriter', 'mydbusername' 
EXEC sp_addrolemember 'db_owner', 'mydbusername' 

的消息說:命令已成功完成。

在這一點上,我們知道a)有一個名爲'mydbusername'的用戶。 b)有一個名爲'mydbusername'的登錄。 c)我們知道'mydbusername'具有數據庫的'db_datareader','db_datawriter'和'db_owner'權限。

我試圖通過網絡上的管理屏幕登錄。我能夠成功登錄並執行查詢。但是,當我嘗試通過SQL Server Management Studio登錄時,我收到上面的消息。我正在使用

mydbusername @ ohimryXusa作爲「登錄」字段。我已驗證密碼是否正確。我也驗證了服務器名稱是正確的。我究竟做錯了什麼?我真的需要這個,因爲我得到了我的代碼中的錯誤。謝謝!

+0

遠射 - 但我懷疑Azure會允許您訪問Master數據庫(存儲有關SQL實例上用戶數據庫的所有信息的數據庫)。你不只是有錯誤的數據庫名稱對話框? – BlackSpy

+0

每個「Windows Azure SQL數據庫服務器」總是有一個「主」數據庫。這個數據庫實際上被命名爲「master」,它保存了當前服務器,防火牆規則,數據庫使用情況統計信息的所有用戶憑據。根據SQL Server的常規本地安裝,它不是主數據庫,但它是主數據庫。 – astaykov

+0

類似的問題回答了這個: http://stackoverflow.com/questions/6476828/new-user-cannot-login-to-sql-azure 克里斯 – Chris

回答

4

登錄失敗很可能是由錯誤導致的登錄 /密碼組合。 請確保您使用的是現有的登錄,而不是用戶嘗試登錄時!請注意,當您想要使用SQL Server進行身份驗證時,必須使用創建的LOGIN而不是USER。你必須找出哪個LOGIN是你的「mydbusername」關聯的。 這是好事,你有用戶,並且該用戶被添加到不同的角色,但沒有關聯登錄的用戶不是什麼。您可能想要參考this documentation

0

因爲Azure中使用多個數據庫,你不能只是登錄到Management Studio中的數據庫服務器(連接到對象資源管理器)

這將使你的知名度,以每個人的數據庫的同一臺服務器上,其。

爲了避免這種情況,只需在啓動時關閉初始登錄提示對話框,並在關閉後單擊「新建查詢」。

系統會提示您連接 - 但是如果您轉到連接設置並選擇數據庫作爲初始目錄,則可以從此處編寫腳本(並且僅限於您的)數據庫。

沒有對象瀏覽器 - 但至少你可以直接編寫你的數據庫腳本。

1

我知道這是舊的線程,但我可能會幫助其他面臨同樣問題的人......我在master數據庫中創建用戶而不授予任何特殊權限 - 這解決了問題。看起來在Azure中,所有屬於用戶數據庫的用戶都應該出現在master數據庫中!

+0

這解決了這個問題對我來說。 –

相關問題