对 sql server 数据库的备份进行加密

嗯,最近在研究数据库备份相关的东西,考虑到应该为数据库备份加个密,就准备从网上搜索一下看看有什么好办法,没想到还挺乱。。。

首先,我从网上搜到的,数据库备份加密的方法,主要有三种:

1、在使用 BACKUP 语句时,添加 PASSWORD 参数【此方法适用于 sql server 2012 以前的版本(不包含 2012)】

不过呢,其实这个 PASSWORD 参数的加密,并不是我们想象中的数据完整的加密。

根据 MSDN 中的介绍:https://msdn.microsoft.com/zh-cn/library/ms186865(v=sql.100).aspx

image

貌似此密码仅仅是给备份附加了一个密码,并没有对备份数据加密,如果该密码直接被修改替换,备份中的数据仍然可以被正确的读取,所以,其实加密的意义不是很大。

2、对数据库启用 透明数据加密(TDE)【此方法适用于 sql server 2008 及以后的版本(含2008)】

注:仅 sql server enterprise(企业版)支持此功能。

这个TDE吧,嗯,非常的好,因为它不仅仅是对备份加密,它是对整个数据库进行了加密,而且既然是“透明”,也就是说不会影响到任何对数据库的操作,正常的对数据库操作(增删改查什么的),还有备份恢复什么的,都不需要特别的考虑加密问题。只有离开了当前的数据库服务器,就会发现,什么都做不了。需要在新的服务器中导入原来的加密证书即可正常使用。

MSDN 相关文档:https://msdn.microsoft.com/zh-cn/library/bb934049.aspx

IC715364[1]

要启用透明加密,需要以下几个步骤:

1、在 master 数据库中,添加 数据库主密钥:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzgpdf.html