2017-10-09 40 views
0

我目前正在爲Azure SQL DWH設置一些用戶。我在服務器級別創建了一個Login,並在我的數據庫創建了一個User。但是,如果我嘗試使用我的數據庫用戶,則會收到登錄失敗的消息。如果我使用登錄,我已經創建它工作得很好。此登錄也只能訪問我授予訪問權限的視圖。我是否錯過了一些非常明顯的東西,或者在SQL DWH中登錄和角色有什麼不同?Azure SQL DWH:可以連接登錄但不是用戶

CREATE LOGIN Login WITH PASSWORD = 'Password'; 
CREATE USER User FROM LOGIN Login; 
+1

我不確定dw,但是對於sqlserver你不能登錄的用戶unles它包含用戶,我認爲**同樣適用於dw – TheGameiswar

+1

我想這是有道理的。鑑於包含數據庫的文檔不適用於SQL DWH,您似乎假設是正確的。謝謝! –

回答

0

由於是保留字,所以不能使用「user」作爲新數據庫登錄的名稱。另外將登錄信息添加到數據讀取器角色,然後重試。

EXEC sp_addrolemember 'db_datareader', 'newdatabaseuser'; 

嘗試登錄到SQL數據倉庫服務器而未指定數據庫。如果您能夠通過上述說明進行連接,則可以解決問題。

如果您嘗試從應用程序進行連接,請確保您使用的是適當的驅動程序。詳細瞭解它here

希望這會有所幫助。

+0

嗨阿爾貝託, 我實際上並沒有打電話給我的登錄「登錄」,我的用戶「用戶」,這是爲了顯示我如何創建它們。我已將我的用戶添加到數據讀取器角色,並試圖不指定數據庫。不幸的是,這並沒有什麼區別,如果我使用我創建的用戶,我仍然會遇到登錄失敗。在登錄方面效果很好,所以看起來像TheGameiswar的理論就是這樣。 –

+0

您是否知道您需要在master數據庫上運行CREATE LOGIN語句,並且CREATE USER應該在SQL Azure Data Warehouse特定數據庫上運行?請閱讀這篇文章:https://docs.microsoft.com/en-us/azure/sql-data-warehouse/sql-data-warehouse-overview-manage-security –

相關問題