RESTORE MASTER KEY (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 權限。
範例
下列範例會還原 AdventureWorks2008R2 資料庫的資料庫主要金鑰。
USE AdventureWorks2008R2;
RESTORE MASTER KEY
FROM FILE = 'c:\backups\keys\AdventureWorks2008R2_master_key'
DECRYPTION BY PASSWORD = '3dH85Hhk003#GHkf02597gheij04'
ENCRYPTION BY PASSWORD = '259087M#MyjkFkjhywiyedfgGDFD';
GO