共用方式為


ALTER ASYMMETRIC KEY (Transact-SQL)

適用於:SQL ServerAzure SQL 資料庫Azure SQL 受控執行個體Azure Synapse AnalyticsMicrosoft Fabric 中的 SQL 資料庫

變更非對稱金鑰的屬性。

Transact-SQL 語法慣例

Note

Azure Synapse Analytics 的無伺服器 SQL 集區不支援此語法。

Syntax

ALTER ASYMMETRIC KEY Asym_Key_Name <alter_option>  
  
<alter_option> ::=  
      <password_change_option>   
    | REMOVE PRIVATE KEY   

<password_change_option> ::=  
    WITH PRIVATE KEY ( <password_option> [ , <password_option> ] )  

<password_option> ::=  
      ENCRYPTION BY PASSWORD = 'strongPassword'  
    | DECRYPTION BY PASSWORD = 'oldPassword'  

Arguments

Asym_Key_Name
這是非對稱金鑰在資料庫中的識別名稱。

拿掉私鑰
從非對稱金鑰移除私密金鑰。不移除公開金鑰。

使用私鑰
變更私密金鑰的保護。

密碼加密 ='強密碼'
指定用來保護私密金鑰的新密碼。 password 必須符合執行 SQL Server 執行個體的電腦的 Windows 密碼原則需求。 如果省略這個選項,則由資料庫主要金鑰加密此私密金鑰。

密碼解密 ='oldPassword'
指定目前用來保護私密金鑰的舊密碼。 如果是利用資料庫主要金鑰加密私密金鑰,則不需要這個選項。

Remarks

如果沒有資料庫主要金鑰,則需要 ENCRYPTION BY PASSWORD 選項,而且如果沒有提供密碼,作業會失敗。 如需如何建立資料庫主要金鑰的相關資訊,請參閱 CREATE MASTER KEY (Transact-SQL)

您可以利用 ALTER ASYMMETRIC KEY 指定 PRIVATE KEY 選項 (如下表所示) 來變更私密金鑰的保護。

變更保護 加密依據密碼 依密碼解密
從舊密碼到新密碼 Required Required
從密碼到主要金鑰 Omit Required
從主要金鑰到密碼 Required Omit

必須先開啟資料庫主要金鑰,才可以利用它來保護私密金鑰。 如需詳細資訊,請參閱 MASTER KEY (Transact-SQL)

若要變更非對稱金鑰的擁有權,請使用 ALTER AUTHORIZATION

Permissions

若要移除私密金鑰,則需要非對稱金鑰的 CONTROL 權限。

Examples

A. 變更私密金鑰的密碼

下列範例會變更用來保護非對稱金鑰 PacificSales09 之私密金鑰的密碼。 新密碼會是 <enterStrongPasswordHere>

ALTER ASYMMETRIC KEY PacificSales09   
    WITH PRIVATE KEY (  
    DECRYPTION BY PASSWORD = '<oldPassword>',  
    ENCRYPTION BY PASSWORD = '<enterStrongPasswordHere>');  
GO  

B. 從非對稱金鑰移除私密金鑰

下列範例會從 PacificSales19 移除私密金鑰,只留下公開金鑰。

ALTER ASYMMETRIC KEY PacificSales19 REMOVE PRIVATE KEY;  
GO  

C. 移除私密金鑰的密碼保護

下列範例會從私密金鑰移除密碼保護,並利用資料庫主要金鑰保護私密金鑰。

OPEN MASTER KEY DECRYPTION BY PASSWORD = '<database master key password>';  
ALTER ASYMMETRIC KEY PacificSales09 WITH PRIVATE KEY (  
    DECRYPTION BY PASSWORD = '<enterStrongPasswordHere>' );  
GO  

另請參閱

建立非對稱鍵(Transact-SQL)
DROP ASYMMETRIC KEY(Transact-SQL)
SQL Server 和資料庫加密金鑰 (資料庫引擎)
加密階層
CREATE MASTER KEY (Transact-SQL)
開放主要金鑰 (Transact-SQL)
可延伸金鑰管理 (EKM)