本主題描述如何使用 Transact-SQL 在 SQL Server 2014 中備份資料庫主要密鑰。 資料庫主要金鑰可用來加密資料庫內部的其他金鑰和憑證。 如果刪除或損毀,SQL Server 可能無法解密這些金鑰,且使用這些金鑰加密的數據將會有效地遺失。 因此,您應該備份資料庫主要金鑰,並將該備份存放在安全且位於異地的位置。
本主題內容
開始之前:
開始之前
限制與制約
主要金鑰必須開啟,因此在備份之前先解密。 如果使用服務主要金鑰加密,則主要金鑰不需要明確開啟。 不過,如果只利用密碼加密主要金鑰,則必須明確開啟主要金鑰。
我們建議您在建立主要金鑰後立即將它備份,然後將該備份儲存在安全的離站位置。
安全
權限
需要資料庫的 CONTROL 權限。
使用 SQL Server Management Studio 搭配 Transact-SQL
備份資料庫主要金鑰
在 SQL Server Management Studio 中,連線到 SQL Server 執行個體 (其中包含要備份的資料庫主要金鑰)。
選擇要在備份媒體上用於加密資料庫主要金鑰的密碼。 這個密碼必須遵守複雜性檢查。
取得抽取式備份媒體以便儲存備份金鑰的副本。
識別要在其中建立金鑰備份的 NTFS 目錄。 您可以在下一個步驟中建立指定的檔案。 這個目錄應該使用具有高度限制性的存取控制清單 (ACL) 加以保護。
在物件總管中,連線到資料庫引擎實例。
在標準列上,按一下 [新增查詢] 。
複製下列範例並將其貼到查詢視窗中,然後按一下 [執行] 。
-- Creates a backup of the "AdventureWorks2012" master key. Because this master key is not encrypted by the service master key, a password must be specified when it is opened. USE AdventureWorks2012; GO OPEN MASTER KEY DECRYPTION BY PASSWORD = 'sfj5300osdVdgwdfkli7'; BACKUP MASTER KEY TO FILE = 'c:\temp\exportedmasterkey' ENCRYPTION BY PASSWORD = 'sd092735kjn$&adsg'; GO備註
金鑰的檔案路徑和金鑰的密碼 (如果有) 不同於上方指示。 請確定兩者都是您伺服器和金鑰設定專用的。
將檔案複製到備份媒體,並確認複製後的副本。
將備份存放在安全且位於異地的位置。
如需詳細資訊,請參閱 OPEN MASTER KEY (Transact-SQL) (開啟主要金鑰 (Transact-SQL)) 和 BACKUP MASTER KEY (Transact-SQL) (備份主要金鑰 (Transact-SQL))。