Sql-Server

擁有主密鑰備份後,如何恢復由主密鑰加密的數據庫?

  • May 20, 2019

在測試系統上設置AlwaysOn可用性組時, 我從實時生成了所有恢復並將它們恢復到這個新伺服器。

然後我將所有這些數據庫備份到網路共享中,以使它們準備好添加到availability group.

然後將 then 添加到availability group我在下面收到此消息時,其中有幾個。(50 個數據庫中有 2 個或 3 個)

在此處輸入圖像描述

壞消息:

我沒有那個實時伺服器的主密鑰 - 數據庫來自的伺服器。

好消息。

我在原始實時伺服器中有主密鑰的備份。

在此處輸入圖像描述

我也有證書的備份:

在此處輸入圖像描述

不太好消息:

我沒有那個主密鑰備份文件的解密密碼

這個問題似乎是相關的:

恢復加密的 MSSQL 數據庫需要什麼?

問題:

如何還原那些僅在原始伺服器中備份主密鑰的數據庫?

PS我沒有該主密鑰備份文件的解密密碼-上圖

也許我將不得不重新生成主密鑰。

螢幕截圖顯示了實例的服務主密鑰的備份,但這與 AAG 嚮導要求的數據庫主密鑰不同。請參閱SQL 中的加密層次結構

您的情況聽起來類似於將 SSISDB 添加到 AlwaysOn AG,因為數據庫上存在受密碼保護的 DMK,因此您必須提供該密碼才能在其他副本上恢復和訪問數據庫。

如果您不知道密碼,則需要返回實時伺服器並更改 DMK 密碼

ALTER MASTER KEY REGENERATE WITH ENCRYPTION BY PASSWORD = '####';

完成此操作後,將新的 DMK 密碼記錄在安全的地方,例如密碼保險箱。如果可能,也將 DMK 備份到此位置,以便您可以在需要時恢復 DMK。

完成此操作後,使用新的備份將其加入 AG 中的輔助節點,並在出現提示時提供密碼。另一種方法是使用由證書創建的對稱密鑰而不是受 DMK 保護的密碼,然後簡單地在所有副本上備份和恢復該證書,以使加密數據庫能夠相對輕鬆地加入 AG。更多資訊在這裡

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