本文將介紹如何為 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'
以下程式碼示範嘗試還原已設定密碼的備份媒體集之相關資訊:
restore database Northwind from disk='g:\nw.bak' with replace
必須要設定正確的備份媒體集密碼才能順利還原資料庫。
restore database Northwind from disk='g:\nw.bak' with replace,mediapassword='1234'
【提醒】
從SQL Server 2012 RC0 開始,備份資料庫時將不支援使用 Password 選項為備份組或 MediaSetPassword 選項來為備份媒體設定密碼,但仍支援還原資料庫時使用 Password 和 Mediapassword 選項。
此外,使用這種安全保護措施功能有限,只能達到基本的防護效果,若有更嚴謹的安全考量,建議改用其他方式來保護備份媒體集。
PS:為資料庫備份檔加密僅能透過 T-SQL 指令進行,無法利用 SSMS 的 UI 做。
【參考資料】