今天有個需求,得將每天的SQL備份做完整性驗證及加密。講一下加密,本以為演算法選了會有內建的憑證供我使用,沒想到空空如也。原來要先用語法自己做憑證,方法如下:
1. 開啟 SQL 查詢視窗
2. 輸入以下語法,填入自己的密碼,建立資料庫主 Key
Use Master
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '自己的密碼';
3. 建立成功的話,在 SYS.symmetric_keys 會看到紀錄
4. 輸入以下語法來建立憑證,BackUpCert 及 MyDB Certificate 可以換成自己喜歡的描述
CREATE CERTIFICATE BackUpCert
WITH SUBJECT = 'MyDB Certificate';
5. 輸入以下語法來備份憑證,存擋路徑記得改,完成後要異地備份以防萬一。
backup certificate BackUpCert
to file = 'D:BackupEncryptionBackUpCert.cer'
with private key (file='D:BackupEncryptionBackUpCert.pvk',
ENCRYPTION BY PASSWORD = '自己的密碼');
6. 最後回到 SQL 的備份計畫, 憑證就有東西可選囉。
參考文章:SQL Server 2014 - Backup Encryption
參考文章:建立加密的備份