使用 EFS 加密、備份及還原 SQL Server 資料庫

「加密檔案系統 (EFS)」是 Microsoft Windows 的一項功能,可讓您將資訊以加密格式儲存在硬碟上。EFS 利用進階、標準的加密演算法,能夠透通加密及解密檔案。如果您擁有 SQL Server Standard Edition 2008、2008 SP3、2008 R2 SP2、2012 和 2014,請利用這種方法來加密資料庫檔案。

開始之前

這項作業假設您已:
  1. 選擇用於 SQL Server 服務的服務帳戶,該帳戶必須是
    • 在加密的資料庫及其備份的生命期限期間保持可用。
    • 可用來在網路之中傳送資料庫或其備份(必要的話)。
    註:
    • 服務帳戶可以與您用於 AppScan® Enterprise 的帳戶相同或不同。
    • 請使用一個服務帳戶來登入 SQL Server 服務以及加密任何透過該服務來管理的資料庫。
    • 在這些指示中,SQL Server 服務帳戶又稱為 'the service account'(即「服務帳戶」)。
  2. 找出資料庫的檔案路徑(如果與這裡列出的資料庫位置不同)。步驟 3 中將需要這項資訊。您可以開啟 Microsoft SQL Server Management Studio 來找到預設位置。用滑鼠右鍵按一下管理資料庫的 SQL Server。按一下內容 > 資料庫設定 > 資料庫預設位置

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

這項程序必須先完成才能執行配置精靈;否則將無法存取資料庫。請參閱配置 AppScan Enterprise 的 SQL Server 資料庫

程序

  1. 移至開始 > 系統管理工具 > 服務,然後停止 SQL Server 服務,該服務管理您將要加密的 AppScan® Enterprise 資料庫。預設服務是 SQL Server (MSSQLSERVER)
  2. 用滑鼠右鍵按一下服務名稱,以開啟內容對話框。在登入標籤上,選取這個帳戶、輸入服務帳戶的認證,然後按一下確定
  3. 在「Windows 檔案總管」中,用滑鼠右鍵按一下資料庫所在的資料夾,然後移至內容 > 安全性,授與服務帳戶對 <databasename.mdf> 檔和上層資料夾兩者的讀取和執行讀取存取權。
    註: 系統將使用登入之使用者的認證來加密資料庫。如果您不是以服務帳戶登入,請現在執行該動作。
  4. 用滑鼠右鍵按一下包含 <databasename.mdf> 檔的資料夾,然後移至內容 > 一般 > 進階屬性。勾選加密內容以保護資料勾選框,然後按一下確定
    註:

    如果資料夾尚未加密,請於提示出現時選取套用變更至此資料夾、子資料夾和檔案。如果您在執行「伺服器配置精靈」之後選取這個選項,則不會加密資料庫。如果這項程序在執行「伺服器配置精靈」之後套用至資料庫和對應的日誌檔,則資料庫可能會進入「回復擱置」狀態。接著,加密過的資料庫即無法在 SQL Server Management Studio 工具和 AppScan Enterprise 中存取。

  5. 服務視窗中,啟動管理 AppScan® Enterprise 資料庫的 SQL Server。

結果

DATA 資料夾 C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA(如果在 Microsoft SQL Server 2014 Standard 安裝期間使用了預設值)加密後,在「Windows 檔案總管」中即會以綠色顯示。在這項程序之後新增的任何資料庫都會被加密,包括由「伺服器配置精靈」建立的 AppScan Enterprise 資料庫。

註: 只有加密該檔案的使用者可以加以解密。您可以在內容 > 進階屬性視窗的「詳細資料」區段中判定誰加密特定的檔案。系統「不會」自動加密已加密資料庫的備份。請遵循備份及還原 EFS 加密資料庫中的步驟。

備份及還原 EFS 加密資料庫

您可以將加密的備份資料庫檔案移至在相同 Windows 版本上管理的網路共用位置,以保留檔案加密。您可以從任何儲存已加密資料庫檔案的位置還原資料庫。當還原到 SQL Server 時,該 SQL Server 的服務應使用將資料庫加密之使用者的服務帳戶認證執行。不過,還原的資料庫檔案「未」加密,因此您必須使用上述作業中的步驟來將它加密。

程序

  1. 在「Windows 檔案總管」中,展開資料庫備份所在的資料夾,然後授與服務帳戶對 <databasename.bak> 檔的讀取和執行讀取存取權。
    註: 系統將使用登入之使用者的認證來加密資料庫。如果您不是以服務帳戶登入,請現在執行該動作。
  2. 用滑鼠右鍵按一下 <databasename.bak> 檔,然後移至內容 > 一般 > 進階 > 加密內容以保護資料安全,然後按一下確定