RESTORE MASTER KEY (Transact-SQL)

從備份檔案匯入資料庫主要金鑰。

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

語法

RESTORE MASTER KEY FROM FILE = 'path_to_file' 
    DECRYPTION BY PASSWORD = 'password'
    ENCRYPTION BY PASSWORD = 'password'
    [ FORCE ]

引數

  • FILE = 'path_to_file'
    指定預存資料庫主要金鑰的完整路徑,包括檔案名稱。path_to_file 可以是本機路徑或通往網路位置的 UNC 路徑。

  • DECRYPTION BY PASSWORD ='password'
    指定解密要從檔案匯入之資料庫主要金鑰時所需的密碼。

  • ENCRYPTION BY PASSWORD ='password'
    指定資料庫主要金鑰已載入資料庫中之後用來加密該金鑰的密碼。

  • FORCE
    即使目前資料庫主要金鑰未開啟,或 SQL Server 無法解密某些以此金鑰加密的私密金鑰時,指定 RESTORE 處理序仍應繼續執行。

備註

當主要金鑰還原時,SQL Server 會解密所有利用目前作用中主要金鑰加密的金鑰,然後利用還原的主要金鑰加密這些金鑰。這項需要大量資源的作業應該安排在低需求時進行。如果目前資料庫主要金鑰未開啟或無法開啟,或者,如果利用該金鑰加密的任何金鑰無法解密,還原作業便會失敗。

請只在主要金鑰無法擷取或解密失敗時才使用 FORCE 選項。只由無法擷取的金鑰加密的資訊會遺失。

如果先前是由服務主要金鑰加密主要金鑰,則還原的主要金鑰也會由服務主要金鑰來加密。

如果目前資料庫中沒有主要金鑰,RESTORE MASTER KEY 會建立主要金鑰。不會自動利用服務主要金鑰來加密新的主要金鑰。

權限

需要資料庫的 CONTROL 權限。

範例

下列範例會還原 AdventureWorks 資料庫的資料庫主要金鑰。

USE AdventureWorks;
RESTORE MASTER KEY 
    FROM FILE = 'c:\backups\keys\AdventureWorks_master_key' 
    DECRYPTION BY PASSWORD = '3dH85Hhk003#GHkf02597gheij04' 
    ENCRYPTION BY PASSWORD = '259087M#MyjkFkjhywiyedfgGDFD';
GO