CREATE USER (Transact-SQL)

適用于:yesSQL Server (所有支援的版本) Yes Azure SQL Database Yes Azure SQL 受控執行個體 Azure Synapse yes Analytics Analytics yes Platform System (PDW)

將使用者加入目前資料庫中。 以下列出 13 種類型的使用者,其中包含最基本的語法範例:

具有 master 登入的使用者 - 這是最常見的使用者類型。

  • 具有 Windows Active Directory 帳戶登入的使用者。 CREATE USER [Contoso\Fritz];
  • 依據 Windows 群組登入的使用者。 CREATE USER [Contoso\Sales];
  • 使用SQL Server驗證來根據登入的使用者。 CREATE USER Mary;
  • 以Azure AD登入為基礎的使用者。 CREATE USER [bob@contoso.com] FROM LOGIN [bob@contoso.com]

    注意

    Azure Active Directory (Azure AD) 伺服器主體 (登入) 目前處於公開預覽狀態,Azure SQL Database。

在資料庫進行驗證的使用者 - 此選項有助於讓您的資料庫更具可攜性。
SQL Database中一律允許。 只有在自主資料庫中才允許SQL Server。

  • 依據沒有登入之 Windows 使用者的使用者。 CREATE USER [Contoso\Fritz];

  • 依據沒有登入之 Windows 群組的使用者。 CREATE USER [Contoso\Sales];

  • 根據Azure Active Directory使用者,在 SQL Database 或 Azure Synapse Analytics 中的使用者。 CREATE USER [Fritz@contoso.com] FROM EXTERNAL PROVIDER;

  • 具有密碼之自主資料庫使用者。 (Azure Synapse Analytics.) 無法使用CREATE USER Mary WITH PASSWORD = '********';

具有 Windows 主體的使用者,其透過 Windows 群組登入進行連接

  • 以沒有登入的Windows使用者為基礎,但可以透過Windows群組的成員資格連線到資料庫引擎。 CREATE USER [Contoso\Fritz];

  • 以沒有登入的Windows群組為基礎,但可以透過不同Windows群組的成員資格連線到資料庫引擎。 CREATE USER [Contoso\Fritz];

無法驗證的使用者- 這些使用者無法登入SQL Server或SQL Database。

  • 沒有登入的使用者。 無法登入但可獲得權限。 CREATE USER CustomApp WITHOUT LOGIN;
  • 依據憑證的使用者。 無法登入,但可獲得權限而且可簽署模組。 CREATE USER TestProcess FOR CERTIFICATE CarnationProduction50;
  • 依據非對稱金鑰的使用者。 無法登入,但可獲得權限而且可簽署模組。 CREATE User TestProcess FROM ASYMMETRIC KEY PacificSales09;

Topic link iconTransact-SQL 語法慣例

Syntax

-- Syntax for SQL Server, Azure SQL Database, and Azure SQL Managed Instance
  
-- Syntax Users based on logins in master  
CREATE USER user_name   
    [   
        { FOR | FROM } LOGIN login_name   
    ]  
    [ WITH <limited_options_list> [ ,... ] ]   
[ ; ]  
  
-- Users that authenticate at the database  
CREATE USER   
    {  
      windows_principal [ WITH <options_list> [ ,... ] ]  
  
    | user_name WITH PASSWORD = 'password' [ , <options_list> [ ,... ]   
    | Azure_Active_Directory_principal FROM EXTERNAL PROVIDER
    }  
  
 [ ; ]  
  
-- Users based on Windows principals that connect through Windows group logins  
CREATE USER   
    {   
          windows_principal [ { FOR | FROM } LOGIN windows_principal ]  
        | user_name { FOR | FROM } LOGIN windows_principal  
}  
    [ WITH <limited_options_list> [ ,... ] ]   
[ ; ]  
  
-- Users that cannot authenticate   
CREATE USER user_name   
    {  
         WITHOUT LOGIN [ WITH <limited_options_list> [ ,... ] ]  
       | { FOR | FROM } CERTIFICATE cert_name   
       | { FOR | FROM } ASYMMETRIC KEY asym_key_name   
    }  
 [ ; ]  
  
<options_list> ::=  
      DEFAULT_SCHEMA = schema_name  
    | DEFAULT_LANGUAGE = { NONE | lcid | language name | language alias }  
    | SID = sid   
    | ALLOW_ENCRYPTED_VALUE_MODIFICATIONS = [ ON | OFF ] ]  
  
<limited_options_list> ::=  
      DEFAULT_SCHEMA = schema_name ]   
    | ALLOW_ENCRYPTED_VALUE_MODIFICATIONS = [ ON | OFF ] ]  
  
-- SQL Database syntax when connected to a federation member  
CREATE USER user_name  
[;]

-- Syntax for users based on Azure AD logins for Azure SQL Managed Instance
CREATE USER user_name   
    [   { FOR | FROM } LOGIN login_name  ]  
    | FROM EXTERNAL PROVIDER
    [ WITH <limited_options_list> [ ,... ] ]   
[ ; ]  

<limited_options_list> ::=  
      DEFAULT_SCHEMA = schema_name 
    | DEFAULT_LANGUAGE = { NONE | lcid | language name | language alias }   
    | ALLOW_ENCRYPTED_VALUE_MODIFICATIONS = [ ON | OFF ] ] 

注意

建立完成後的 Azure SQL 受控執行個體 Azure AD 管理員功能已變更。 如需詳細資訊,請參閱 MI 的新 Azure AD 管理員功能

-- Syntax for Azure Synapse Analytics  
  
CREATE USER user_name   
    [ { { FOR | FROM } { LOGIN login_name }   
      | WITHOUT LOGIN  
    ]   
    [ WITH DEFAULT_SCHEMA = schema_name ]  
[;]

CREATE USER Azure_Active_Directory_principal FROM EXTERNAL PROVIDER  
    [ WITH DEFAULT_SCHEMA = schema_name ]  
[;]
-- Syntax for Parallel Data Warehouse  
  
CREATE USER user_name   
    [ { { FOR | FROM }  
      {   
        LOGIN login_name   
      }   
      | WITHOUT LOGIN  
    ]   
    [ WITH DEFAULT_SCHEMA = schema_name ]  
[;]  

注意

若要檢視 SQL Server 2014 與更早版本的 Transact-SQL 語法,請參閱舊版文件

引數

user_name

指定在這個資料庫內用來識別使用者的名稱。 user_name 是一種 sysname。 該名稱長度最多可達 128 個字元。 當建立依據 Windows 主體的使用者時,除非指定另一個使用者名稱,否則 Windows 主體名稱會成為使用者名稱。

LOGIN login_name

指定目前建立之資料庫使用者的登入。 login_name 必須是伺服器中的有效登入。 可以是以Windows主體 (使用者或群組) 、使用SQL Server驗證的登入,或使用Azure AD主體登入 (使用者、群組或應用程式) 。 當這個 SQL Server 登入進入資料庫時,它會取得正在建立之資料庫使用者的名稱和識別碼。 從Windows主體建立對應登入時,請使用[< domainNameloginName >\<>]格式。 如需範例,請參閱語法摘要

如果 CREATE USER 陳述式是 SQL 批次中的唯一陳述式,Azure SQL Database 會支援 WITH LOGIN 子句。 如果 CREATE USER 語句不是SQL批次中的唯一語句,或是在動態SQL中執行,則不支援 WITH LOGIN 子句。

WITH DEFAULT_SCHEMA = schema_name

指定在解析這個資料庫使用者的物件名稱時,伺服器所搜尋到的第一個結構描述。

'windows_principal'

為正在建立的資料庫使用者指定 Windows 主體。 windows_principal 可以是 Windows 使用者或 Windows 群組。 即使 windows_principal 沒有登入,也會建立使用者。 連線到SQL Server時,如果windows_principal沒有登入,Windows主體必須透過具有登入之Windows群組的成員資格在資料庫引擎進行驗證,或連接字串必須將自主資料庫指定為初始目錄。 從Windows主體建立使用者時,請使用[< domainNameloginName >\<>]格式。 如需範例,請參閱語法摘要。 具有 Active Directory 使用者身分的使用者,其名稱僅限 21 個字元以內。

'Azure_Active_Directory_principal'

適用于:SQL Database、受控執行個體、Azure Synapse Analytics。

為所要建立的資料庫使用者指定 Azure Active Directory 主體。 Azure_Active_Directory_principal 可以是 Azure Active Directory 使用者、Azure Active Directory 群組或 Azure Active Directory 應用程式。 (Azure Active Directory使用者無法在 SQL Database 中擁有Windows驗證登入;只有資料庫 users.) 連接字串必須將自主資料庫指定為初始目錄。

針對 Azure AD 主體,CREATE USER 語法需要:

  • 適用於 Azure AD 使用者之 Azure AD 物件的 UserPrincipalName。

    • CREATE USER [bob@contoso.com] FROM EXTERNAL PROVIDER;
    • CREATE USER [alice@fabrikam.onmicrosoft.com] FROM EXTERNAL PROVIDER;
  • Azure Active Directory (Azure AD) 伺服器主體 (登入) 引進建立對應至虛擬 master 資料庫中Azure AD登入的使用者。 CREATE USER [bob@contoso.com] FROM LOGIN [bob@contoso.com]

  • Azure AD使用者和服務主體 (Azure AD屬於超過 2048 Azure AD 安全性群組成員的應用程式) 不支援在 SQL Database、受控執行個體 或 Azure Synapse 中登入資料庫。

  • 適用於 Azure AD 群組和 Azure AD 應用程式之 Azure AD 物件的 DisplayName。 如果您有「護士」安全性群組,則可以使用:

    • CREATE USER [Nurses] FROM EXTERNAL PROVIDER;

如需詳細資訊,請參閱使用 Azure Active Directory 驗證連線到 SQL Database

WITH PASSWORD = 'password'

適用于:SQL Server 2012 (11.x) 及更新版本,SQL Database。

只能用於自主資料庫。 指定正在建立之使用者的密碼。 從 SQL Server 2012 (11.x) 開始,預存密碼資訊會使用加料式 (Salted) 密碼的 SHA-512 加以計算。

WITHOUT LOGIN

指定使用者不應該對應至現有的登入。

CERTIFICATE cert_name

適用于:SQL Server 2008 和更新版本,SQL Database。

指定目前建立之資料庫使用者的憑證。

ASYMMETRIC KEY asym_key_name

適用于:SQL Server 2008 和更新版本,SQL Database。

指定目前建立之資料庫使用者的非對稱金鑰。

DEFAULT_LANGUAGE = { NONE | <lcid > | <語言名稱 > | <語言 salias > }

適用于:SQL Server 2012 (11.x) 及更新版本,SQL Database。

指定新使用者的預設語言。 如果已指定使用者的預設語言,但稍後變更資料庫的預設語言,使用者預設語言會保持為指定值。 如果未指定預設語言,則使用者的預設語言將是資料庫的預設語言。 如果未指定使用者的預設語言,且資料庫的預設語言稍後會變更,則使用者的預設語言會變更為資料庫的新預設語言。

重要

DEFAULT_LANGUAGE 只用於自主資料庫使用者。

SID = sid

適用于:SQL Server 2012 (11.x) 和更新版本。

僅適用于在自主資料庫中具有密碼的使用者 ( SQL Server驗證) 。 指定新資料庫使用者的 SID。 如果未選取此選項,SQL Server會自動指派 SID。 使用 SID 參數即可在多個資料庫中建立具有相同識別 (SID) 的使用者。 當您在多個資料庫中建立使用者以準備 Always On 容錯移轉時,這會很有用。 若要判斷使用者的 SID,請查詢 sys.database_principals。

ALLOW_ENCRYPTED_VALUE_MODIFICATIONS = [ ON | OFF ]

適用于:SQL Server 2016 (13.x) 及更新版本,SQL Database。

在大量複製作業時隱藏伺服器上的密碼編譯中繼資料檢查。 這會讓使用者得以在資料表或資料庫間大量複製加密資料,而無須解密資料。 預設值為 OFF。

警告

不當使用這個選項會導致資料損毀。 如需詳細資訊,請參閱移轉透過 Always Encrypted 保護的機密資料

FROM EXTERNAL PROVIDER

適用于:SQL Database和受控執行個體。
指定使用者用於Azure AD 驗證。

備註

如果省略 FOR LOGIN,新的資料庫使用者將會對應至具有相同名稱的SQL Server登入。

預設結構描述是伺服器在解析這個資料庫使用者之物件名稱時,所搜尋到的第一個結構描述。 除非另有指定,否則預設結構描述是此資料庫使用者建立之物件的擁有者。

如果使用者有預設結構描述,則使用預設結構描述。 如果使用者沒有預設結構描述,但使用者是具有預設結構描述群組的成員,則會使用群組的預設結構描述。 如果使用者沒有預設結構描述,且是具有一個以上群組的成員,則使用者預設結構描述將會是具有最低 principle_id 且明確設定預設結構描述 Windows 群組的結構描述。 (您無法明確地選取其中一個可用的預設架構作為慣用的架構。) 如果無法判斷使用者的預設架構,則會使用 dbo 架構。

DEFAULT_SCHEMA 可以在它所指向的結構描述建立之前設定。

當您建立對應至憑證的使用者或非對稱金鑰時,無法指定DEFAULT_SCHEMA。

如果使用者是系統管理員 (sysadmin) 固定伺服器角色的成員,則會忽略 DEFAULT_SCHEMA 的值。 系統管理員 (sysadmin) 固定伺服器角色的所有成員都有預設的 dbo 結構描述。

WITHOUT LOGIN 子句會建立未對應至SQL Server登入的使用者。 這個使用者可以用 guest 的身分連接到其他資料庫。 可指派權限給這位沒有登入的使用者,而且在安全性內容變更為沒有登入的使用者時,原始使用者會收到沒有登入之使用者的權限。 請參閱範例 D. 建立及使用不含登入的使用者

只有對應到 Windows 主體的使用者可以包含反斜線字元 ( \ )。

CREATE USER 無法用來建立來賓使用者,因為來賓使用者已存在於每個資料庫內。 您可以授與 guest 使用者 CONNECT 權限來啟用它,如下所示:

GRANT CONNECT TO guest;  
GO  

您可以在 sys.database_principals 目錄檢視中,看到資料庫使用者的資訊。

FROM EXTERNAL PROVIDER的新語法延伸模組可用來在 Azure SQL Database 和 Azure SQL 受控執行個體 中建立伺服器層級Azure AD登入。 Azure AD 登入可以讓資料庫層級的 Azure AD 主體對應到伺服器層級的 Azure AD 登入。 若要從 Azure AD 登入建立 Azure AD 使用者,請使用下列語法:

CREATE USER [AAD_principal] FROM LOGIN [Azure AD login]

在Azure SQL資料庫中建立使用者時,login_name必須對應至現有的Azure AD登入,否則使用FROM EXTERNAL PROVIDER子句只會建立沒有 master 資料庫中登入的Azure AD使用者。 例如,此命令會建立包含的使用者:

CREATE USER [bob@contoso.com] FROM EXTERNAL PROVIDER

語法摘要

具有 master 登入的使用者

下列清單顯示依據登入之使用者的可能語法。 未列出預設架構選項。

  • CREATE USER [Domain1\WindowsUserBarry]
  • CREATE USER [Domain1\WindowsUserBarry] FOR LOGIN Domain1\WindowsUserBarry
  • CREATE USER [Domain1\WindowsUserBarry] FROM LOGIN Domain1\WindowsUserBarry
  • CREATE USER [Domain1\WindowsGroupManagers]
  • CREATE USER [Domain1\WindowsGroupManagers] FOR LOGIN [Domain1\WindowsGroupManagers]
  • CREATE USER [Domain1\WindowsGroupManagers] FROM LOGIN [Domain1\WindowsGroupManagers]
  • CREATE USER SQLAUTHLOGIN
  • CREATE USER SQLAUTHLOGIN FOR LOGIN SQLAUTHLOGIN
  • CREATE USER SQLAUTHLOGIN FROM LOGIN SQLAUTHLOGIN

在資料庫進行驗證的使用者

下列清單顯示只能用於自主資料庫使用者的可能語法。 建立的使用者不會與 master 資料庫中的任何登入相關。 未列出預設架構和語言選項。

重要

此語法會授與使用者對資料庫的存取權,也會授與資料庫引擎的新存取權。

  • CREATE USER [Domain1\WindowsUserBarry]
  • CREATE USER [Domain1\WindowsGroupManagers]
  • CREATE USER Barry WITH PASSWORD = 'sdjklalie8rew8337!$d'

具有 Windows 主體但不具備 master 登入的使用者

下列清單顯示可透過Windows群組存取資料庫引擎但沒有master登入的使用者可能語法。 這個語法可以用於所有類型的資料庫。 未列出預設架構和語言選項。

此語法類似于以 master 登入為基礎的使用者,但此類別的使用者在 master 中沒有登入。 使用者必須能夠透過Windows群組登入來存取資料庫引擎。

此語法類似于以Windows主體為基礎的自主資料庫使用者,但此類別的使用者不會取得資料庫引擎的新存取權。

  • CREATE USER [Domain1\WindowsUserBarry]
  • CREATE USER [Domain1\WindowsUserBarry] FOR LOGIN Domain1\WindowsUserBarry
  • CREATE USER [Domain1\WindowsUserBarry] FROM LOGIN Domain1\WindowsUserBarry
  • CREATE USER [Domain1\WindowsGroupManagers]
  • CREATE USER [Domain1\WindowsGroupManagers] FOR LOGIN [Domain1\WindowsGroupManagers]
  • CREATE USER [Domain1\WindowsGroupManagers] FROM LOGIN [Domain1\WindowsGroupManagers]

無法驗證的使用者

下列清單顯示無法登入SQL Server的使用者可能語法。

  • CREATE USER RIGHTSHOLDER WITHOUT LOGIN
  • CREATE USER CERTUSER FOR CERTIFICATE SpecialCert
  • CREATE USER CERTUSER FROM CERTIFICATE SpecialCert
  • CREATE USER KEYUSER FOR ASYMMETRIC KEY SecureKey
  • CREATE USER KEYUSER FROM ASYMMETRIC KEY SecureKey

安全性

建立使用者會授與資料庫的存取權,但不會自動授與資料庫中物件的任何存取權。 在建立使用者之後,一般動作是將使用者新增至有權存取資料庫物件的資料庫角色,或將物件權限授與給使用者。 如需設計權限系統的資訊,請參閱 資料庫引擎權限使用者入門

適用於自主資料庫的特殊考量

連接到自主資料庫時,如果使用者沒有 master 資料庫中的登入,連接字串就必須包含自主資料庫名稱做為初始目錄。 具有密碼之自主資料庫使用者永遠需要初始目錄參數。

在自主資料庫中,建立使用者有助於將資料庫與資料庫引擎實例分開,以便輕鬆地將資料庫移至另一個SQL Server實例。 如需詳細資訊,請參閱自主資料庫自主的資料庫使用者 - 使資料庫可攜。 若要根據具有密碼的SQL Server驗證登入,將資料庫使用者變更為自主資料庫使用者,請參閱sp_migrate_user_to_contained (Transact-SQL)

在自主資料庫中,使用者不需要在 master 資料庫中擁有登入。 資料庫引擎系統管理員應該瞭解可以在資料庫層級授與自主資料庫的存取權,而不是資料庫引擎層級。 如需詳細資訊,請參閱 Security Best Practices with Contained Databases

在Azure SQL Database上使用自主資料庫使用者時,請使用資料庫層級防火牆規則來設定存取權,而不是伺服器層級防火牆規則。 如需詳細資訊,請參閱sp_set_database_firewall_rule (Azure SQL Database)

對於 SQL Database 和 Azure Synapse Analytics 自主資料庫使用者,SSMS可以支援 Multi-Factor Authentication。 如需詳細資訊,請參閱適用於與 SQL Database 和 Azure Synapse Analytics 搭配使用之 Azure AD MFA 的 SSMS 支援

權限

需要資料庫的 ALTER ANY USER 權限。

範例

A. 依據 SQL Server 登入建立資料庫使用者

下列範例會先建立名為 AbolrousHazem 的SQL Server登入,然後在 中 AdventureWorks2012 建立對應的資料庫使用者 AbolrousHazem

CREATE LOGIN AbolrousHazem   
    WITH PASSWORD = '340$Uuxwp7Mcxo7Khy';  

變更為使用者資料庫。 例如,在 SQL Server使用 USE AdventureWorks2012 語句。 在 Azure Synapse Analytics and Analytics Platform System (PDW) 中,您必須建立與使用者資料庫的新連線。

CREATE USER AbolrousHazem FOR LOGIN AbolrousHazem;  
GO   

B. 以預設的結構描述建立資料庫使用者

下列範例會先建立一個具有密碼且名叫 WanidaBenshoof 的伺服器登入,然後再以預設的結構描述 Wanida,建立對應的資料庫使用者 Marketing

CREATE LOGIN WanidaBenshoof   
    WITH PASSWORD = '8fdKJl3$nlNv3049jsKK';  
USE AdventureWorks2012;  
CREATE USER Wanida FOR LOGIN WanidaBenshoof   
    WITH DEFAULT_SCHEMA = Marketing;  
GO  

C. 從憑證建立資料庫使用者

下列範例會從憑證 JinghaoLiu 建立一個資料庫使用者 CarnationProduction50

適用于:SQL Server 2008 和更新版本。

USE AdventureWorks2012;  
CREATE CERTIFICATE CarnationProduction50  
    WITH SUBJECT = 'Carnation Production Facility Supervisors',  
    EXPIRY_DATE = '11/11/2011';  
GO  
CREATE USER JinghaoLiu FOR CERTIFICATE CarnationProduction50;  
GO   

D. 建立及使用不含登入的使用者

下列範例會建立未對應至SQL Server登入的資料庫使用者 CustomApp 。 然後此範例會授與使用者 adventure-works\tengiz0 權限來模擬 CustomApp 使用者。

USE AdventureWorks2012 ;  
CREATE USER CustomApp WITHOUT LOGIN ;  
GRANT IMPERSONATE ON USER::CustomApp TO [adventure-works\tengiz0] ;  
GO   

若要使用 CustomApp 認證,使用者 adventure-works\tengiz0 會執行下列陳述式。

EXECUTE AS USER = 'CustomApp' ;  
GO  

若要還原回 adventure-works\tengiz0 認證,使用者會執行下列陳述式。

REVERT ;  
GO  

E. 建立具有密碼的自主資料庫使用者

下列範例會建立具有密碼之自主資料庫使用者。 您只能在自主資料庫中執行這個範例。

適用于:SQL Server 2012 (11.x) 和更新版本。 如果移除DEFAULT_LANGUAGE,則此範例適用于SQL Database。

USE AdventureWorks2012 ;  
GO  
CREATE USER Carlo  
WITH PASSWORD='RN92piTCh%$!~3K9844 Bl*'  
    , DEFAULT_LANGUAGE=[Brazilian]  
    , DEFAULT_SCHEMA=[dbo]  
GO   

F. 為網域登入建立自主資料庫使用者

下列範例會為 Contoso 網域中的登入 Fritz,建立自主資料庫使用者。 您只能在自主資料庫中執行這個範例。

適用于:SQL Server 2012 (11.x) 和更新版本。

USE AdventureWorks2012 ;  
GO  
CREATE USER [Contoso\Fritz] ;  
GO   

G. 建立具有指定 SID 之自主資料庫使用者

下列範例會建立名稱為 CarmenW 的 SQL Server 驗證自主資料庫使用者。 您只能在自主資料庫中執行這個範例。

適用于:SQL Server 2012 (11.x) 和更新版本。

USE AdventureWorks2012 ;  
GO  
CREATE USER CarmenW WITH PASSWORD = 'a8ea v*(Rd##+'  
, SID = 0x01050000000000090300000063FF0451A9E7664BA705B10E37DDC4B7;

H. 建立使用者以複製加密的資料

下列範例會建立一個使用者可以從一組包含加密資料行的資料表,將受Always Encrypted功能保護的資料複製到相同或不同資料庫中具有加密資料行的另一組資料表) (。 如需詳細資訊,請參閱移轉透過 Always Encrypted 保護的機密資料

適用于:SQL Server 2016 (13.x) 及更新版本,SQL Database。

CREATE USER [Chin]   
WITH   
      DEFAULT_SCHEMA = dbo  
    , ALLOW_ENCRYPTED_VALUE_MODIFICATIONS = ON ;  

I. 在 Azure SQL 中從Azure AD登入建立Azure AD使用者

若要從 Azure AD 登入來建立 Azure AD 使用者,請使用下列語法。

使用受控實例中的角色授 sysadmin 與的Azure AD登入,或SQL Database中的角色,登入您的SQL伺服器或 loginmanager 受控實例。 下列範例會從登入 bob@contoso.com 來建立 Azure AD 使用者 bob@contoso.com。 此登入是在 CREATE LOGIN 範例中建立。

CREATE USER [bob@contoso.com] FROM LOGIN [bob@contoso.com];
GO

重要

從 Azure AD 登入建立 USER 時,將 user_name 指定為來自 LOGIN 的相同 login_name

支援從是群組的 Azure AD 登入,將 Azure AD 使用者建立為群組。

CREATE USER [AAD group] FROM LOGIN [AAD group];
GO

您也可以從是群組的 Azure AD 登入建立 Azure AD 使用者。

CREATE USER [bob@contoso.com] FROM LOGIN [AAD group];
GO

J. 建立沒有資料庫Azure AD登入的Azure AD使用者

下列語法可用來在 SQL 受控執行個體資料庫 (包含的使用者) 中建立 Azure AD 使用者 bob@contoso.com

CREATE USER [bob@contoso.com] FROM EXTERNAL PROVIDER;
GO

後續步驟

一旦建立使用者之後,請考慮使用 ALTER ROLE 陳述式,將使用者新增至資料庫角色。
您也可以將 GRANT 物件權限授與角色,以讓他們存取資料表。 如需 SQL Server 安全性模型的一般資訊,請參閱權限

另請參閱

建立資料庫使用者
sys.database_principals (Transact-SQL)
ALTER USER (Transact-SQL)
DROP USER (Transact-SQL)
CREATE LOGIN (Transact-SQL)
EVENTDATA (Transact-SQL)
自主資料庫
使用 Azure Active Directory 驗證連線到 SQL 資料庫
資料庫引擎權限使用者入門