0

您好我已經Azure的SQL Server上配置Azure的Active Directory身份驗證。 之後,我通過使用以下添加上一個SQL數據庫包含的數據庫用戶查詢Azure的SQL數據庫V12 AD認證,一些用戶無法登錄

創建用戶

CREATE USER [[email protected]] FROM EXTERNAL PROVIDER; 

分配以下權限

EXEC sp_addrolemember 'db_datareader', '[email protected]'; 
GO 
EXEC sp_addrolemember 'db_datawriter', '[email protected]'; 
GO 
GRANT EXECUTE ON SCHEMA :: dbo TO [[email protected]]; 
GO 
GRANT ALTER ON SCHEMA :: dbo TO [[email protected]]; 

GRANT CREATE TABLE TO [[email protected]]; 
GRANT SELECT,DELETE,UPDATE,INSERT TO [[email protected]]; 
GRANT VIEW ANY COLUMN MASTER KEY DEFINITION to [[email protected]]; 
GRANT VIEW ANY COLUMN ENCRYPTION KEY DEFINITION to [[email protected]]; 

有些用戶能夠登錄並訪問數據庫,但一些用戶收到錯誤消息說用戶登錄失敗。 我是否需要提供更多權限?

+0

什麼是無法訪問數據庫的用戶類型?你是否授予所有用戶相同的權限? –

+0

是的,所有用戶授予相同的權限,用戶類型是成員。誰能夠訪問他們也有用戶類型作爲成員。 – narendramacha

回答

0

缺省情況下,SQL Azure的連接不指定特定的數據庫將嘗試登錄到主數據庫。因爲AAD使用基於組的成員身份,所以如果用戶是可以訪問主數據庫的組的一部分,他們將能夠登錄。被拒絕登錄的用戶通常會被拒絕,因爲他們沒有被授予主人權限,也沒有在連接字符串中指定特定的數據庫。

要通過SSMS連接:在「連接到數據庫引擎」對話框中選擇「選項」按鈕,在「連接屬性」選項卡,在「連接到數據庫:」指定數據庫名稱下拉。您需要知道它的用戶可能無法訪問master以讀取虛擬數據庫服務器上的數據庫列表。

您可以在「概述」數據庫中獲取來自Azure的門戶網站你的技術堆棧的連接字符串。

希望這會有所幫助。