在 SQL Server 資料庫上啟用透通資料加密

SQL Server 有內建加密 TDE 機制(透通資料加密),可加密位在資料庫或實體媒體上之備份中的資料。

開始之前

只有在 Microsoft SQL Server 2008 Enterprise Edition 及更新版本中才有提供 TDE。如果是 Standard Edition 選項,請閱讀使用 EFS 加密、備份及還原 SQL Server 資料庫

執行這項作業的原因和時機

如果要在 SQL Server 上啟用 TDE,您必須擁有與在主要資料庫中建立資料庫主要金鑰和憑證相關的正規權限。此外,您還必須擁有使用者資料庫的相關 CONTROL 權限。

啟用加密是資料庫管理員的一般作業;為了方便,我們已提供適合一般 SQL Server 配置使用的 SQL Script:EnableTDE.zip. (如果檔案未下載,請用滑鼠右鍵按一下鏈結,並將檔案儲存到硬碟。)

註: 若為升級使用者:
  1. 如果要增進資料庫升級效能,請在資料庫升級完成之後啟用 TDE。
  2. 雖然您可以在任何時間執行這些步驟,但在完成這些步驟之前,資料庫將不會進行加密。在進行升級程序之前啟用 TDE,這樣可以在升級期間與之後保護您的資料庫。

程序

  1. 開啟您 SQL Server 2008、2008R2、2012 或 2014 安裝架構的 SQL Management Studio。
  2. 連接至您要加密的資料庫。這有助於確保資料庫已建立並且可使用。
  3. 移至您下載 EnableTDE.zip 檔的位置。將檔案解壓縮,然後開啟 Script(檔案 > 開啟 > 檔案)。您會找到將在伺服器上執行的數個指令。
  4. 在執行 Script 之前,必須為您的環境設定三個欄位。在 Script 的註解區段中,它們全都標示 'ACTION REQUIRED'(必要動作):
    1. DECLARE @MKPassword:用來在 [master] 資料庫中建立主要金鑰的「主要金鑰密碼」。
    2. DECLARE @DatabaseName :您想要對其啟用加密的資料庫名稱。
    3. (Optional) DECLARE @BackupPassword:憑證備份密碼。此密碼用來保護憑證備份的安全,而且在其他機器上還原憑證時一定會用到。
  5. 更新這些欄位之後,請啟動 Script(查詢 > 執行)。Script 如何在 SQL Server 上啟用 TDE
  6. 完成 Script 之後,結果會顯示在 SQL Management Studio 的「訊息」視窗中。
    註: 您也可以透過 SQL Management Studio 進行驗證。用滑鼠右鍵按一下「資料庫名稱->作業->管理資料庫加密」。您會看到「設定啟用資料庫加密」勾選框已選取。

結果

重要: 完成後,請務必寫下在此 Script 中所使用的密碼,並製作憑證備份副本。憑證備份由兩個檔案組成:AppScanEntCert.bak 和 AppScanEntCert.pvk。它們會和 database .mdf 檔儲存在一起,依預設儲存在以下資料夾:
  • (SQL 2014) C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA
  • (SQL 2012) C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA
  • (SQL 2008) C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA
  • (SQL 2008 R2) C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA