全部產品
Search
文件中心

ApsaraDB RDS:建立普通帳號、高許可權帳號與全域唯讀帳號

更新時間:Nov 26, 2025

您可以通過RDS控制台或API介面為RDS SQL Server執行個體建立普通帳號、高許可權帳號和全域唯讀帳號。

適用範圍

  • 執行個體的第一個帳號必須建立為高許可權帳號或超級許可權帳號(SA許可權)

  • 所有規格執行個體均可建立高許可權帳號與普通帳號,符合以下條件的執行個體可建立全域唯讀帳號:

    • 資料庫版本:SQL Server 2016及以上。

    • 規格類型系列類型:通用型或獨享型。

  • 帳號數量限制

    • 普通帳號:無數量限制。

    • 高許可權帳號:每個執行個體至多一個高許可權帳號。

    • 全域唯讀帳號:每個執行個體至多兩個全域唯讀帳號。

帳號許可權規則

高許可權帳號管理規則

操作環境

許可權行為說明

建立高許可權帳號

建立時該帳號將自動獲得已有資料庫的db_owner角色許可權,無需額外手動授權。

新增資料庫

刪除高許可權帳號

  • 刪除操作會徹底移除該帳號,及其在所有資料庫中的操作許可權。

  • 帳號無法再用於登入或執行任何資料庫操作。

重新建立高許可權帳號

  • 再次建立高許可權帳號,無論是否使用原帳號名,系統將自動授予其對當前執行個體中所有已存在資料庫的db_owner許可權。

  • 對此後新建立的資料庫,仍需手動修改許可權才能獲得該資料庫的db_owner許可權。

普通帳號管理規則

操作環境

許可權行為說明

建立普通帳號

  • 建立時需手動指定授權資料庫和對應許可權(讀寫、唯讀或所有者)。

  • 若未選擇任何資料庫,則該帳號建立成功但無任何資料庫存取權限。

  • 帳號無任何資料庫的許可權,必須手動授權

新增資料庫

刪除普通帳號

  • 刪除後,該帳號的所有資料庫存取權限被徹底清除。

  • 無法再通過該帳號登入或執行任何資料庫操作。

  • 已綁定的應用串連將失敗,需及時更新帳號密碼資訊。

重新建立同名普通帳號

  • 即使使用與之前相同的帳號名稱重新建立,也不會自動回復原有許可權。

  • 建立帳號為“空白狀態”,無任何資料庫的許可權。

  • 必須手動重新授權資料庫並設定許可權,才能恢複訪問能力。

全域唯讀帳號管理規則

操作環境

許可權行為說明

建立全域唯讀帳號

  • 帳號建立後,該帳號自動擷取執行個體內所有已存在資料庫的唯讀許可權,無需逐庫授權。

  • 該帳號沒有masterrdscore(如存在的) 系統庫存取權限。

新增資料庫

對於新建立的資料庫(建立帳號之後新增的資料庫),該帳號自動擁有隻讀存取權限,無需手動授權或變更範圍。

刪除全域唯讀帳號

  • 刪除操作會徹底移除該帳號及其唯讀許可權。

  • 帳號將無法再用於登入或執行任何資料庫操作。

重新建立全域唯讀帳號

  • 再次建立全域唯讀帳號(無論是否沿用原帳號名),系統會自動授予其對當前執行個體中所有已存在資料庫的唯讀許可權。

  • 對此後新建立的資料庫,仍自動擷取唯讀許可權,無需手動授權。

注意事項

  • 設定強密碼:為保障資料庫的安全,請將資料庫帳號的密碼設定為強密碼,並定期更換。您也可以為帳號設定密碼原則,以控制帳號密碼的使用時間長度,增強帳號的安全性。

  • 最小許可權原則:分配資料庫帳號許可權時,請按最小許可權原則和業務角色建立帳號,併合理分配唯讀和讀寫權限。必要時可以把資料庫帳號和資料庫拆分成更小粒度,使每個資料庫帳號只能訪問其業務之內的資料。如果不需要資料庫寫入操作,請分配唯讀許可權。

建立帳號

  1. 訪問RDS執行個體列表,在上方選擇地區,然後單擊目標執行個體ID。

  2. 在左側導覽列單擊帳號管理

  3. 單擊建立帳號,設定如下參數。

    說明

    SQL Server執行個體的第一個帳號必須為高許可權帳號或超級許可權帳號。建立高許可權帳號或超級許可權帳號之後才能建立普通帳號或全域唯讀帳號。

    高許可權帳號

    參數

    說明

    資料庫帳號

    填寫資料庫帳號名稱,需由小寫字母、數字、底線組成,以字母開頭,以字母或數字結尾。帳號名稱不能與關鍵字重複。

    帳號類型

    選擇高許可權帳號,一個執行個體僅支援有一個高許可權帳號。

    新密碼

    填寫帳號密碼。要求如下:

    • 長度為8~32個字元。

    • 由大寫字母、小寫字母、數字、特殊字元中的任意三種組成。

    • 特殊字元為!@#$%^&*()_+-=

    確認密碼

    填寫與新密碼一致的欄位,需確保密碼輸入正確。

    應用密碼原則

    應用密碼原則可以控制帳號密碼的使用時間長度,增強帳號的安全性。應用前您需要先設定帳號密碼原則

    備忘

    輸入備忘說明,最多256個字元。

    普通帳號

    參數

    說明

    資料庫帳號

    填寫資料庫帳號名稱,需由小寫字母、數字、底線組成,以字母開頭,以字母或數字結尾。帳號名稱不能與關鍵字重複。

    帳號類型

    選擇普通帳號,一個執行個體支援有多個普通帳號。

    授權資料庫:

    您可以為普通帳號授權一個或多個資料庫,並為其設定不同的許可權。若尚未建立資料庫,該值可以為空白,後續為帳號重新授權資料庫即可。授權操作如下:

    1. 未授權資料庫欄中,選中要授權的資料庫。

    2. 單擊image.png,將資料庫添加到已授權資料庫欄中。

    3. 為該帳號設定資料庫許可權,可設定為讀寫(DML)只讀所有者。許可權詳情,請參見帳號許可權列表

    新密碼

    填寫帳號密碼。要求如下:

    • 長度為8~32個字元。

    • 由大寫字母、小寫字母、數字、特殊字元中的任意三種組成。

    • 特殊字元為!@#$%^&*()_+-=

    確認密碼

    填寫與新密碼一致的欄位,需確保密碼輸入正確。

    應用密碼原則

    應用密碼原則可以控制帳號密碼的使用時間長度,增強帳號的安全性。應用前您需要先設定帳號密碼原則

    備忘

    輸入備忘說明,最多256個字元。

    全域唯讀帳號

    參數

    說明

    資料庫帳號

    填寫資料庫帳號名稱,需由小寫字母、數字、底線組成,以字母開頭,以字母或數字結尾。帳號名稱不能與關鍵字重複。

    帳號類型

    選擇全域唯讀帳號,該帳號建立後將自動擁有執行個體內所有已存在資料庫的唯讀許可權,且對建立資料庫自動生效。

    新密碼

    填寫帳號密碼。要求如下:

    • 長度為8~32個字元。

    • 由大寫字母、小寫字母、數字、特殊字元中的任意三種組成。

    • 特殊字元為!@#$%^&*()_+-=

    確認密碼

    填寫與新密碼一致的欄位,需確保密碼輸入正確。

    應用密碼原則

    應用密碼原則可以控制帳號密碼的使用時間長度,增強帳號的安全性。應用前您需要先設定帳號密碼原則

    備忘

    輸入備忘說明,最多256個字元。

  4. 單擊確定,重新整理後即可查看已建立的帳號。

相關文檔

常見問題

主執行個體建立的帳號是否可以在唯讀執行個體上使用?

主執行個體建立的帳號會同步到唯讀執行個體,唯讀執行個體無法管理帳號。唯讀執行個體上的帳號許可權僅限於讀操作,不能進行寫操作。

RDS SQL Server執行個體如何跳過使用者帳號密碼複雜度的限制?

為保障資料庫的安全,RDS SQL Server限制使用者的帳號密碼必須由大寫字母、小寫字母、數字、特殊字元中的任意三種組成,並要求密碼長度在8~32字元間

但若因業務需要,必須跳過密碼複雜度的限制,可按照如下操作進行:

重要

密碼過於簡單會增加系統被攻擊的風險,建議您將資料庫帳號的密碼設定為強密碼,並定期更換。

  1. 在RDS執行個體中建立一個使用者帳號A,並使用帳號A通過SSMS串連SQL Server執行個體

  2. 通過帳號A建立目標帳號,並在建立目標帳號時關閉密碼檢查複雜度的策略,SQL如下:

    說明

    通過DMS串連SQL Server資料庫無法切換到master庫,請通過SSMS串連並執行SQL。

    -- 先切換到master庫
    USE master
    GO
    -- 建立目標帳號
    CREATE LOGIN [目標帳號名稱] WITH PASSWORD=N'目標帳號密碼', CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
    GO
    -- 啟用目標帳號
    ALTER LOGIN [目標帳號名稱] ENABLE
    GO

    CHECK_EXPIRATION = OFF表示將關閉密碼到期功能,CHECK_POLICY = OFF表示將關閉密碼複雜性策略的檢查(例如密碼長度、複雜性等要求)。

    說明

    您可以通過RDS控制台為RDS SQL Server執行個體的使用者帳號單獨自訂帳號密碼原則,以實現精細化的密碼管理,增強帳號的安全性。

RDS SQL Server帳號顯示未啟用,且登入報錯The account is disabled.

問題描述

RDS SQL Server執行個體帳號管理頁面中,使用者帳號狀態顯示為未啟用。通過未啟用的帳號登入資料庫時,會報錯The account is disabled.

image

image

問題原因

通過RDS SQL Server執行個體帳號管理頁面或API建立的使用者帳號預設是已啟用狀態,無需使用者手動啟用。如果帳號狀態變為未啟用,通常可能是:

  • 使用者通過SQL自行建立帳號時,指定了帳號狀態為禁用(Disabled)。

  • 使用者通過RDS控制台或API建立帳號後,手動修改了帳號狀態為禁用(Disabled)。

解決方案

  1. 使用其他處於啟用狀態的帳號,通過SSMS串連到SQL Server執行個體

  2. 檢查目標使用者帳號的禁用狀態,若被禁用則修改狀態為啟用(Enabled)。

    • 方法一:通過SSMS圖形化介面查看並修改目標帳號的使用狀態。

      image

    • 方法二:通過SQL查看並修改目標帳號的使用狀態。

      1. 執行以下SQL查詢,確認目標帳號的目前狀態:

        -- 查詢目標登入名稱的狀態
        SELECT 
            name AS LoginName,          -- 登入名稱
            is_disabled AS IsDisabled   -- 狀態:1表示禁用,0表示啟用
        FROM 
            sys.server_principals
        WHERE 
            name = '替換為目標登入名稱';

        image

      2. 如果目標帳號被禁用(is_disabled = 1),執行以下SQL命令啟用帳號:

        ALTER LOGIN [替換為目標登入名稱] ENABLE;

        image

通過CreateAccount介面建立使用者時報錯AccountLimitExceeded

問題描述

使用者通過CreateAccount介面建立資料庫帳號時,如果參數設定不正確,可能出現如下報錯

"Code": "AccountLimitExceeded",
"Message": "AccountQuotaExceeded: Exceeding the allowed amount of account"

此錯誤表明當前執行個體中已達到允許的最大帳號數量限制。

報錯原因

  • 帳號數量限制:最多允許一個高許可權帳號和一個超級許可權帳號,且高許可權帳號不可刪除。

  • 參數設定問題:在SQL Server中,若AccountType設定為Sysadmin(超級許可權帳號)或Super(高許可權帳號),但資料庫中已有對應許可權帳號,則會觸發AccountLimitExceeded報錯。

解決方案

  • 建立普通帳號:確保AccountType設定為Normal,RDS通常對普通帳號數量無限制,具體的數量與執行個體核心有關。

  • 建立高許可權帳號:確保AccountType設定為Super,可通過RDS控制台帳號管理頁面檢查執行個體中是否已存在高許可權帳號,若已存在,請避免重複建立

  • 建立超級許可權帳號:確保AccountType設定為Sysadmin,可通過RDS控制台帳號管理頁面檢查執行個體中是否已存在高許可權帳號,若已存在,請避免重複建立