適用於:SQL Server
Azure SQL 資料庫
Azure SQL 受控執行個體
變更應用程式角色的名稱、密碼或預設結構描述。
語法
ALTER APPLICATION ROLE application_role_name
WITH <set_item> [ , ...n ]
<set_item> ::=
NAME = new_application_role_name
| PASSWORD = 'password'
| DEFAULT_SCHEMA = schema_name
引數
application_role_name
要修改之應用程式角色的名稱。
NAME = new_application_role_name
指定應用程式角色的新名稱。 這個名稱必須尚未用來參考資料庫中的任何主體。
PASSWORD = 'password'
指定應用程式角色的密碼。
password
必須符合執行 SQL Server 實例之電腦的 Windows 密碼原則需求。 您一定要使用增強式密碼。
DEFAULT_SCHEMA = schema_name
指定當伺服器解析物件名稱時,將搜尋的第一個結構描述。 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 權限。 若要變更預設的結構描述,使用者還需要在應用程式角色上具有 ALTER 權限。 應用程式角色可改變它自己的預設結構描述,但不能變更它的名稱或密碼。
範例
A。 變更應用程式角色的名稱
下列範例會將應用程式角色的名稱 weekly_receipts
變更為 receipts_ledger
。
USE AdventureWorks2022;
CREATE APPLICATION ROLE weekly_receipts
WITH PASSWORD = '987Gbv8$76sPYY5m23' ,
DEFAULT_SCHEMA = Sales;
GO
ALTER APPLICATION ROLE weekly_receipts
WITH NAME = receipts_ledger;
GO
B. 變更應用程式角色的密碼
下列範例會變更應用程式角色 receipts_ledger
的密碼。
ALTER APPLICATION ROLE receipts_ledger
WITH PASSWORD = '897yUUbv867y$200nk2i';
GO
C. 變更名稱、密碼和預設結構描述
下列範例會同時變更應用程式角色 receipts_ledger
的名稱、密碼和預設結構描述。
ALTER APPLICATION ROLE receipts_ledger
WITH NAME = weekly_ledger,
PASSWORD = '897yUUbv77bsrEE00nk2i',
DEFAULT_SCHEMA = Production;
GO