Sql-Server-2008-R2

為什麼我需要備份數據庫主密鑰?

  • September 20, 2019

當我為數據庫製作數據庫主密鑰時:

CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'Some Long Password'

Microsoft 的此頁面建議我將其備份到異地:

http://msdn.microsoft.com/en-us/library/ms174382.aspx

我已經通過測試確認在您備份數據庫時儲存了主密鑰。我已經在備份數據庫,並且已經安全地儲存了密碼。那麼為什麼我也需要備份萬能鑰匙呢?

(順便說一句,我已經在備份服務主密鑰並在異地儲存)。

我主要在將數據庫移動或複製到 SQL Server 的新實例時使用它們。在這種情況下,數據庫中的 DMK 將使用新實例的服務主密鑰重新加密,但由 DMK 加密的對象(在您的情況下為對稱密鑰)將不會相應更新。您需要使用 FORCE 選項從單獨的備份中恢復 DMK,以允許自動解密對象。

是的,記錄一下:密鑰損壞很少見,它們將通過與數據庫中任何其他數據相同的機制(即 CHECKDB)進行驗證。但是,我仍然會保留您使用的所有加密密鑰的備份——主密鑰、證書、對稱密鑰等。在所有這些情況下,如果您失去了密鑰,您將永遠無法解密相關數據。不必在每次數據庫備份時都備份密鑰,但在創建或修改它們時備份它們是很好的保險。

引用自:https://dba.stackexchange.com/questions/73926