共用方式為


CREATE APPLICATION ROLE (Transact-SQL)

適用於:SQL ServerAzure SQL 資料庫Azure SQL 受控執行個體

將應用程式角色加入至目前資料庫中。

Transact-SQL 語法慣例

語法

CREATE APPLICATION ROLE application_role_name
    WITH PASSWORD = 'password' [ , DEFAULT_SCHEMA = schema_name ]

引數

application_role_name

指定應用程式角色的名稱。 這個名稱必須尚未用來參考資料庫中的任何主體。

PASSWORD = 'password'

指定資料庫使用者要用來啟動應用程式角色的密碼。 您一定要使用增強式密碼。 password 必須符合執行 SQL Server 實例之電腦的 Windows 密碼原則需求。

DEFAULT_SCHEMA = schema_name

指定伺服器在解析這個角色的物件名稱時,將搜尋的第一個結構描述。 如果DEFAULT_SCHEMA未定義,應用程式角色將會使用 dbo 作為其默認架構。 schema_name 可以是資料庫中不存在的架構。

備註

重要

設定應用程式角色時會檢查密碼複雜性。 叫用應用程式角色的應用程式必須儲存其密碼。 應用程式角色密碼應該一律以加密方式儲存。

您可以在 sys.database_principals 目錄檢視中,看到應用程式角色。

如需如何使用應用程式角色的資訊,請參閱應用程式角色

備註

架構不等於資料庫使用者。 使用 系統目錄檢視 來識別資料庫用戶與架構之間的任何差異。

從 SQL Server 2012 (11.x)開始,SQL Server 和 Azure SQL DB 使用 SHA-512 哈希結合 32 位隨機和唯一的 Salt。 此方法在統計上使攻擊者無法推算密碼。

SQL Server 2025 (17.x) 預覽版引進了一種重複哈希演算法,RFC2898也稱為 密碼型密鑰衍生函 式(PBKDF)。 此演算法仍然使用SHA-512,但多次哈希密碼(100,000個反覆專案),大幅降低暴力密碼破解攻擊的速度。 這項變更可增強密碼保護,以響應不斷演變的安全性威脅,並協助客戶遵守 NIST SP 800-63b 指導方針。

權限

需要資料庫的 ALTER ANY APPLICATION ROLE 權限。

範例

下列範例會建立一個稱為 weekly_receipts 的應用程式角色,這個應用程式角色將密碼 987Gbv876sPYY5m23Sales 當做它的預設結構描述。

CREATE APPLICATION ROLE weekly_receipts
    WITH PASSWORD = '987G^bv876sPY)Y5m23'
    , DEFAULT_SCHEMA = Sales;
GO