建立資料庫使用者

適用於:SQL ServerAzure SQL DatabaseAzure SQL 受控執行個體Azure Synapse AnalyticsAnalytics Platform System (PDW)

本文說明如何建立最常見的資料庫使用者類型。 有 13 種使用者類型。 CREATE USER (Transact-SQL) 文章中提供完整的清單。 各種 SQL Server 均支援資料庫使用者,但不一定支援所有類型的使用者。

您可以使用 SQL Server Management Studio 或 Transact-SQL 來建立資料庫使用者。

了解使用者的類型

建立資料庫使用者時,Management Studio 會顯示 6 個選項。 下圖在綠色方塊中顯示 6 個選項,並指出它們代表的意義。

Diagram that explains the different types of users.

選取使用者的類型

登入或未對應到登入的使用者

如果您不熟悉 SQL Server,就很難判斷要建立的使用者類型。 先問問自己,需要存取資料庫的個人或群組是否有登入? master 資料庫中的登入資料,通常是管理 SQL Server 的人員,以及需要在 SQL Server 執行個體上存取許多或所有資料庫的人員。 針對此情況,您將建立有登入的 SQL 使用者。 連線到資料庫時,資料庫使用者是登入的身分識別。 資料庫使用者可以使用相同的名稱做為登入,但是並非必要。 本文假設 SQL Server 中已有登入資料存在。 如需如何建立登入的相關資訊,請參閱 建立登入

如果需要存取資料庫的個人或群組沒有登入,以及如果他們只需要存取一個或數個資料庫,請建立 Windows 使用者有密碼的 SQL 使用者。 也稱為自主資料庫使用者。 自主資料庫使用者不會與 master 資料庫中的登入相關聯。 若想在 SQL Server 執行個體之間輕鬆移動資料庫,這是很好的選擇。 若要在 SQL Server 上使用此選項,系統管理員必須先針對 SQL Server 啟用自主資料庫,以及針對內含項目啟用資料庫。 如需詳細資訊,請參閱 自主的資料庫使用者 - 使資料庫可攜

重要

以自主資料庫使用者身分連接時,您必須提供資料庫的名稱做為連接字串的一部分。 若要在 SQL Server Management Studio (SSMS) 中指定資料庫,可在 [連線到] 對話塊中選取 [選項],然後選取 [連線屬性] 索引標籤。

當連線的人員無法使用 Windows 驗證時,請根據 [SQL Server 驗證登入] 選取 [有密碼的 SQL 使用者] 或 [有登入的 SQL 使用者]。 組織外部的人員 (例如客戶) 需連線到您的 SQL Server 時,這是很常見的情況。

提示

對組織內部的人員來說,Windows 驗證是比較好的選擇,因為他們不需要記住額外的密碼,以及因為 Windows 驗證可提供額外的安全性功能,例如 Kerberos。

背景

使用者是資料庫層級的安全性主體。 登入必須對應到資料庫使用者,才能連接到資料庫。 登入可以做為不同的使用者對應到不同的資料庫,但在每一個資料庫中只能對應為一位使用者。 在部分自主資料庫中,可以建立沒有登入的使用者。 如需自主資料庫使用者的詳細資訊,請參閱 CREATE USER (Transact-SQL)。 如果資料庫中啟用 guest 使用者,則未對應到資料庫使用者的登入就可以用 guest 使用者的身分進入資料庫。

重要

guest 使用者通常為停用狀態。 除非必要,否則不要啟用 guest 使用者。

使用者做為安全性主體時,可以將權限授與使用者。 使用者的範圍為資料庫。 若要連線到 SQL Server 執行個體上的特定資料庫,則登入資料必須對應到資料庫使用者。 資料庫內的權限是對資料庫使用者授與或拒絕,而不是登入。

權限

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

使用 SSMS 建立使用者

  1. 在 [物件總管] 中,展開 [資料庫] 資料夾。

  2. 展開要建立新資料庫使用者的資料庫。

  3. 以滑鼠右鍵按一下 [安全性] 資料夾,指向 [新增],然後選取 [使用者...]。

  4. 在 [資料庫使用者 - 新增] 對話方塊的 [一般] 頁面上,從 [使用者類型] 清單中選取下列其中一個使用者類型:

    • 有登入的 SQL 使用者

    • 有密碼的 SQL 使用者 (啟用自主資料庫時)

    • 沒有登入的 SQL 使用者

    • 對應到憑證的使用者

    • 對應到非對稱金鑰的使用者

    • Windows 使用者

  5. 當您選取某個選項時,可能會變更對話方塊中其餘的選項。 某些選項僅適用於特定類型的資料庫使用者。 某些選項可以保留空白且將使用預設值。

    使用者名稱
    輸入新使用者的名稱。 如果您已經從 [使用者類型] 清單中選擇 [Windows 使用者],也可以選取省略符號 (...) 開啟 [選取使用者或群組] 對話塊。

    登入名稱
    輸入使用者的登入。 或者,選取省略符號 (...),開啟 [選取登入] 對話塊。 如果您從 [使用者類型] 清單中選取 [有登入的 SQL 使用者][Windows 使用者][登入名稱] 就是可用的。

    [密碼][確認密碼]
    針對在資料庫上進行驗證的使用者輸入密碼。

    預設語言
    輸入使用者的預設語言。

    預設的結構描述
    輸入將擁有此使用者建立之物件的結構描述。 或者,選取省略符號 (...),開啟 [選取結構描述] 對話塊。 如果您從 [使用者類型] 清單中選取 [有登入的 SQL 使用者] , [沒有登入的 SQL 使用者][Windows 使用者][預設結構描述] 就是可用的。

    憑證名稱
    輸入要用於資料庫使用者的憑證。 或者,選取省略符號 (...),開啟 [選取憑證] 對話塊。 如果您從 [使用者類型] 清單中選取 [對應到憑證的使用者][憑證名稱] 就是可用的。

    非對稱金鑰名稱
    輸入要用於資料庫使用者的金鑰。 或者,選取省略符號 (...),開啟 [選取非對稱金鑰] 對話塊。 如果您從 [使用者類型] 清單中選取 [對應到非對稱金鑰的使用者][非對稱金鑰名稱] 就是可用的。

  6. 選取 [確定]。

其他選項

[資料庫使用者 - 新增] 對話塊也會在另外四個頁面上提供選項:[自有結構描述]、[成員資格]、[安全性實體] 和 [擴充屬性]

  • [擁有的結構描述] 頁面列出新資料庫使用者可擁有的所有可能結構描述。 若要在資料庫使用者中加入或移除結構描述,請在 [這個使用者擁有的結構描述] 底下選取或清除結構描述旁邊的核取方塊。

  • [成員資格] 頁面列出新資料庫使用者可擁有的所有可能的資料庫角色成員資格。 若要在資料庫使用者中加入或移除角色,請在 [資料庫角色成員資格] 底下選取或清除角色旁邊的核取方塊。

  • [安全性實體] 頁面列出所有可能的安全性實體以及可授與登入的安全性實體權限。

  • [擴充屬性] 頁面讓您能夠將自訂屬性加入至資料庫使用者。 此頁面提供下列選項。

    Database
    顯示選取之資料庫的名稱。 此欄位是唯讀的。

    定序
    顯示用於所選取資料庫的定序。 此欄位是唯讀的。

    屬性
    檢視或指定物件的擴充屬性。 每個擴充屬性都包含與物件相關聯的一對名稱/值中繼資料。

    省略符號 (...)
    選取 [值] 後面的省略符號 (...),開啟 [擴充屬性的值] 對話塊。 在這個較大的位置輸入或檢視擴充屬性的值。 如需詳細資訊,請參閱< 擴充屬性的值對話方塊>。

    刪除
    移除選取的擴充屬性。

使用 T-SQL 建立使用者

  1. 在物件總管中,連線到資料庫引擎的執行個體。

  2. 在 [標準] 列上,選取 [新增查詢]

  3. 複製下列範例並將其貼到查詢視窗中,然後選取 [執行]。

    -- Creates the login AbolrousHazem with password '340$Uuxwp7Mcxo7Khy'.  
    CREATE LOGIN AbolrousHazem   
        WITH PASSWORD = '340$Uuxwp7Mcxo7Khy';  
    GO  
    
    -- Creates a database user for the login created above.  
    CREATE USER AbolrousHazem FOR LOGIN AbolrousHazem;  
    GO  
    

如需詳細資訊,請參閱 CREATE USER (Transact-SQL),其中包含更多 Transact-SQL 範例。

另請參閱