共用方式為


ALTER MASTER KEY (Transact-SQL)

變更資料庫主要金鑰的屬性。

主題連結圖示Transact-SQL 語法慣例

語法

ALTER MASTER KEY <alter_option>

<alter_option> ::=
    <regenerate_option> | <encryption_option>

<regenerate_option> ::=
    [ FORCE ] REGENERATE WITH ENCRYPTION BY PASSWORD = 'password'

<encryption_option> ::=
    ADD ENCRYPTION BY { SERVICE MASTER KEY | PASSWORD = 'password' }
    | 
    DROP ENCRYPTION BY { SERVICE MASTER KEY | PASSWORD = 'password' }

引數

  • PASSWORD ='password'
    指定用來加密或解密資料庫主要金鑰的密碼。password 必須符合執行 SQL Server 執行個體之電腦的 Windows 密碼原則需求。

備註

REGENERATE 選項會重新建立資料庫主要金鑰和它保護的所有金鑰。會先利用舊的主要金鑰解密這些金鑰,然後利用新的主要金鑰加密它們。除非已危害到主要金鑰,否則,這項需要大量資源的作業應該安排在低需求時進行。

當使用 FORCE 選項時,即使主要金鑰無法使用或伺服器無法解密所有加密私密金鑰,仍會繼續重新產生金鑰。如果無法開啟主要金鑰,請利用 RESTORE MASTER KEY 陳述式,從備份還原主要金鑰請只在主要金鑰無法擷取或解密失敗時才使用 FORCE 選項。只由無法擷取的金鑰加密的資訊會遺失。

DROP ENCRYPTION BY SERVICE MASTER KEY 選項會移除服務主要金鑰對資料庫主要金鑰所執行的加密。

ADD ENCRYPTION BY SERVICE MASTER KEY 會造成利用服務主要金鑰來加密主要金鑰的副本,並將該副本同時儲存在目前資料庫和 master 中。

權限

需要資料庫的 CONTROL 權限。如果已利用密碼加密資料庫主要金鑰,則還需要知道該密碼。

範例

下列範例會建立 AdventureWorks 的新資料庫主要金鑰,並在加密階層中重新加密在它下方的金鑰。

USE AdventureWorks;
ALTER MASTER KEY REGENERATE WITH ENCRYPTION BY PASSWORD = 'dsjdkflJ435907NnmM#sX003';
GO

變更記錄

更新的內容

已更正語法中的 <encryption_option> 區段來使用大括號 {},而不是方括號 []。