ALTER ASYMMETRIC KEY (Transact-SQL)
變更非對稱金鑰的屬性。
語法
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'
引數
Asym_Key_Name
這是非對稱金鑰在資料庫中的識別名稱。REMOVE PRIVATE KEY
從非對稱金鑰移除私密金鑰。不移除公開金鑰。WITH PRIVATE KEY
變更私密金鑰的保護。ENCRYPTION BY PASSWORD ='stongPassword'
指定用來保護私密金鑰的新密碼。password 必須符合執行 SQL Server 執行個體之電腦的 Windows 密碼原則需求。如果省略這個選項,則由資料庫主要金鑰加密此私密金鑰。DECRYPTION BY PASSWORD ='oldPassword'
指定目前用來保護私密金鑰的舊密碼。如果是利用資料庫主要金鑰加密私密金鑰,則不需要這個選項。
備註
如果沒有資料庫主要金鑰,則需要 ENCRYPTION BY PASSWORD 選項,而且如果沒有提供密碼,作業會失敗。如需有關如何建立資料庫主要金鑰的資訊,請參閱<CREATE MASTER KEY (Transact-SQL)>。
您可以利用 ALTER ASYMMETRIC KEY 指定 PRIVATE KEY 選項 (如下表所示) 來變更私密金鑰的保護。
變更保護 |
ENCRYPTION BY PASSWORD |
DECRYPTION BY PASSWORD |
---|---|---|
從舊密碼到新密碼 |
必要 |
必要 |
從密碼到主要金鑰 |
省略 |
必要 |
從主要金鑰到密碼 |
必要 |
省略 |
必須先開啟資料庫主要金鑰,才可以利用它來保護私密金鑰。如需詳細資訊,請參閱<OPEN MASTER KEY (Transact-SQL)>。
若要變更非對稱金鑰的擁有權,請使用 ALTER AUTHORIZATION。
權限
若要移除私密金鑰,則需要非對稱金鑰的 CONTROL 權限。
範例
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;
ALTER ASYMMETRIC KEY PacificSales09 WITH PRIVATE KEY (
DECRYPTION BY PASSWORD = '<enterStrongPasswordHere>' );
GO