還原服務主要金鑰

適用於:SQL Server

本文說明如何使用 Transact-SQL 來還原 SQL Server 中的服務主要金鑰。

警告

需要還原服務主要金鑰的情況不太可能發生在您身上。 萬一真的碰到了,就應該非常小心地進行。 如需詳細資訊,請參閱 Back Up the Service Master Key

開始之前

限制事項

  • 還原服務的主要金鑰時,SQL Server 會解密所有利用目前服務主要金鑰來加密的金鑰和秘密,然後利用從備份檔案載入的服務主要金鑰再進行加密。

  • 如果任何一項解密失敗,還原便會失敗。 您可以利用 FORCE 選項來省略錯誤,但這個選項會使所有無法解密的資料遺失。

  • 重新產生加密階層是一項需要大量資源的作業。 請在低需求期間排程此作業。

警告

服務主要金鑰是 SQL Server 加密階層的根。 服務主要金鑰會直接或間接維護樹狀結構中之所有其他金鑰的安全。 如果在強制還原作業進行期間某相依金鑰無法解密,由該金鑰維護其安全的資料便會遺失。

安全性

權限

需要伺服器的 CONTROL SERVER 權限。

使用 TRANSACT-SQL

若要還原服務主要金鑰

  1. 從實體備份媒體或本機檔案系統上的目錄,擷取已備份的服務主要金鑰副本。

  2. 在物件總管中,連線到資料庫引擎的執行個體。

  3. 在標準列上,選取 [新增查詢] 。

  4. 複製下列範例並將其貼到查詢視窗中,然後選取 [執行]。

    -- Restores the service master key from a backup file.  
    RESTORE SERVICE MASTER KEY   
        FROM FILE = 'c:\temp_backups\keys\service_master_key'   
        DECRYPTION BY PASSWORD = '3dH85Hhk003GHk2597gheij4';  
    GO  
    

    注意

    金鑰的檔案路徑和金鑰的密碼 (如果有) 不同於上方指示。 請確定兩者都是您伺服器和金鑰設定專用的。

另請參閱