如何為 SQL Server 的資料庫備份媒體集加上密碼保護

本文將介紹如何為 SQL Server 的資料庫備份媒體集加上密碼保護。

SQL Server 備份集如果未透過一些保護機制,很容易就可以拿到其他 SQL Server 執行個體上還原,若裡面的重要資料是以明碼儲存,那麼很容易就被看光光,本文將介紹備份資料庫時,只要多加一個參數,就可以簡單地為備份檔加上密碼保護,當然這樣的做法並非絕對安全,但不失為一種保護機制。

要為備份媒體集加上密碼保護,只要在備份指令中利用 MediaSet Options 中的 MEDIASETPASSWORD選項就可以輕鬆的進行備份集加密。

以下程式碼示範如何為 Northwind 資料庫進行加密:

 


backup database Northwind to disk = 'g:\nw.bak' with mediapassword = '1234'

 

以下程式碼示範嘗試查看已設定密碼的備份媒體集之相關資訊:

   1:  restore headeronly from disk = 'g:\nw.bak'
   2:  restore filelistonly from disk = 'g:\nw.bak'
   3:  restore labelonly from disk = 'g:\nw.bak'
   4:  restore database nw2 from disk = 'g:\nw.bak'

 

image

 

以下程式碼示範嘗試還原已設定密碼的備份媒體集之相關資訊:


restore database Northwind from disk='g:\nw.bak' with replace

image

 

必須要設定正確的備份媒體集密碼才能順利還原資料庫。

 


restore database Northwind from disk='g:\nw.bak' with replace,mediapassword='1234'

 

image

 

【提醒】

SQL Server 2012 RC0 開始,備份資料庫時將不支援使用 Password 選項為備份組或 MediaSetPassword 選項來為備份媒體設定密碼,但仍支援還原資料庫時使用 Password 和 Mediapassword 選項。

此外,使用這種安全保護措施功能有限,只能達到基本的防護效果,若有更嚴謹的安全考量,建議改用其他方式來保護備份媒體集。

 

PS:為資料庫備份檔加密僅能透過 T-SQL 指令進行,無法利用 SSMS 的 UI 做。

 

【參考資料】