ALTER CREDENTIAL (Transact-SQL)

適用於:SQL ServerAzure SQL 受控執行個體

變更認證的屬性。

重要

「應該執行」資訊是最佳做法;「必須執行」可完成工作 Transact-SQL 語法慣例

Syntax

ALTER CREDENTIAL credential_name WITH IDENTITY = 'identity_name'  
    [ , SECRET = 'secret' ]  

注意

若要檢視 SQL Server 2014 (12.x) 和舊版的 Transact-SQL 語法,請參閱 舊版檔

引數

credential_name
指定正在變更的認證名稱。

IDENTITY ='identity_name'
指定連接到伺服器外部時所要使用的帳戶名稱。

SECRET ='secret'
指定外寄驗證所需的秘密。 secret 為選擇性。

重要

Azure SQL Database 只支援 Azure Key Vault 與共用存取簽章身分識別。 不支援 Windows 使用者身分識別。

備註

當認證變更時,identity_namesecret 的值都會重設。 如果未指定選擇性 SECRET 引數,預存秘密的值便會設為 NULL。

秘密是利用服務主要金鑰來加密的。 如果重新產生服務主要金鑰,便會利用新的服務主要金鑰來重新加密秘密。

您可以在 sys.credentials 目錄檢視中,看到認證的相關資訊。

權限

需要 ALTER ANY CREDENTIAL 權限。 如果認證是系統認證,則需要 CONTROL SERVER 權限。

範例

A. 變更認證的密碼

下列範例會變更儲存在稱為 Saddles 之認證中的秘密。 這個認證包含 Windows 登入 RettigB 及其密碼。 使用 SECRET 子句將新的密碼加入認證中。

ALTER CREDENTIAL Saddles WITH IDENTITY = 'RettigB',   
    SECRET = 'sdrlk8$40-dksli87nNN8';  
GO  

B. 從認證移除密碼

下列範例會從稱為 Frames 的認證中移除密碼。 這個認證包含 Windows 登入 Aboulrus8 和密碼。 由於未指定 SECRET 選項,因此在執行陳述式之後,認證的密碼為 NULL。

ALTER CREDENTIAL Frames WITH IDENTITY = 'Aboulrus8';  
GO  

另請參閱

認證 (Database Engine)
CREATE CREDENTIAL (Transact-SQL)
DROP CREDENTIAL (Transact-SQL)
ALTER DATABASE SCOPED CREDENTIAL (Transact-SQL)
CREATE LOGIN (Transact-SQL)
sys.credentials (Transact-SQL)