sql server 2005 T-SQL ALTER SYMMETRIC KEY (Transact-SQL)

更改對稱密鑰的屬性。

主題鏈接圖標Transact-SQL 語法約定

ALTER SYMMETRIC KEY Key_name <alter_option>

<alter_option> ::=
ADD ENCRYPTION BY <encrypting_mechanism> [ , ... n ]
|
DROP ENCRYPTION BY <encrypting_mechanism> [ , ... n ]

<encrypting_mechanism> ::=
CERTIFICATE certificate_name
|
PASSWORD = 'password'
|
SYMMETRIC KEY Symmetric_Key_Name
|
ASYMMETRIC KEY Asym_Key_Name
Key_name

要更改的對稱密鑰在數據庫中所使用的名稱。

ADD ENCRYPTION BY

使用指定的方法添加加密。

DROP ENCRYPTION BY

通過指定的方法刪除加密。您不能從對稱密鑰中刪除所有的加密。

CERTIFICATE Certificate_name

指定用於對對稱密鑰進行加密的證書。該證書必須已存在於數據庫中。

PASSWORD = 'password'

指定用於對對稱密鑰進行加密的密碼。

SYMMETRIC KEY Symmetric_Key_Name

指定用於對要更改的對稱密鑰進行加密的對稱密鑰。該對稱密鑰必須已存在於數據庫中,並且必須打開。

ASYMMETRIC KEY Asym_Key_Name

指定用於對要更改的對稱密鑰進行加密的非對稱密鑰。此非對稱密鑰必須已經存在於數據庫中。

注意:
當使用密碼(而不是數據庫主密鑰的公鑰)對對稱密鑰進行加密時,便會使用 TRIPLE_DES 加密算法。因此,用強加密算法(如 AES)創建的密鑰本身受較弱算法的保護。

若要更改對稱密鑰的加密,請使用 ADD ENCRYPTION 和 DROP ENCRYPTION 短語。密鑰始終不可能完全不進行加密。因此,最佳實踐是在刪除舊加密格式之前添加新的加密格式。

若要更改對稱密鑰的所有者,請使用 ALTER AUTHORIZATION

要求對對稱密鑰具有 ALTER 權限。如果使用證書或非對稱密鑰添加加密,則要求對證書或非對稱密鑰具有 VIEW DEFINITION 權限。如果使用證書或非對稱密鑰刪除加密,則要求對證書或非對稱密鑰具有 CONTROL 權限。

以下示例更改用於保護對稱密鑰的加密方法。當創建對稱密鑰 JanainaKey043 時,使用證書 Shipping04 對該密鑰進行加密。由於密鑰始終不可能在不加密的情況下進行存儲,因此在本例中,首先使用密碼添加加密,然後使用證書刪除加密。

CREATE SYMMETRIC KEY JanainaKey043 WITH ALGORITHM = AES_256 
ENCRYPTION BY CERTIFICATE Shipping04;
-- Open the key.
OPEN SYMMETRIC KEY JanainaKey043 DECRYPTION BY CERTIFICATE Shipping04
WITH PASSWORD = 'pGFD4bb925DGvbd2439587y';
-- First, encrypt the key with a password.
ALTER SYMMETRIC KEY JanainaKey043
ADD ENCRYPTION BY PASSWORD = '4350$98fdlxk4Bj9oFD9h4';
-- Now remove encryption by the certificate.
ALTER SYMMETRIC KEY JanainaKey043
DROP ENCRYPTION BY CERTIFICATE Shipping04;
CLOSE SYMMETRIC KEY JanainaKey043
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章