適用於:SQL Server
Azure SQL 資料庫
Azure 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
的應用程式角色,這個應用程式角色將密碼 987Gbv876sPYY5m23
和 Sales
當做它的預設結構描述。
CREATE APPLICATION ROLE weekly_receipts
WITH PASSWORD = '987G^bv876sPY)Y5m23'
, DEFAULT_SCHEMA = Sales;
GO