阿里云rds sql server 2008 r2版本,客户在前端控制台可以自行启用透明数据加密(tde),来避免客户数据库备份文件被非法盗取而引起拖库风险。最近,客户咨询如何将开启了tde的数据库还原到本地环境,这篇文章的目的就是为了解决这个问题。
请仔细阅读以下限制条件,缺一不可。
版本限制:仅针对rds sql server 2008 r2版本。
启用了tde:客户在前端控制台启用了tde并且任务已经完成(一旦启用,无法再次关闭tde)。
备份文件:下载的备份文件是启用了tde之后的备份文件。
证书相关文件:证书文件、证书秘钥文件和证书加密密码,三者缺一不可。请找阿里云索取这三个必要文件。
sql server tde技术可以有效防止拖库的安全风险,但是它也是一把双刃剑,在保证安全的同时也要付出一定的成本。在开启tde之前,请仔细衡量以下注意事项:
tde功能一旦启用而无法再次关闭,没有后悔药,而由此导致的性能损失由客户自己承担责任。
目前仅rds sql server 2008 r2提供tde功能。
为了测试开启了tde的rds sql server实例如何还原到本地,我们先在rds上创建测试环境:创建测试表,插入两条数据。
检查测试环境,截图如下所示:
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIn5GcuQjZiZzYjZzMkF2YkZ2Y3EmY2MWOjRWNwQWMyAzNwYGMvwVbvNmLj5Wat4Wd5lGbh5iY1BXLn1WauU3bop3ZuFGat42YucWbp1iMhRXYvw1LcpDc0RHaiojIsJye.png)
在还原证书之前,即使您拿到了阿里云rds sql server的备份文件,你也无法查看和使用备份文件,因为你没有证书文件相关文件。比如:查看备份文件列表,直接报错:
错误信息如下所示:
由此可见启用了tde的rds sql server可以非常有效地防止拖库行为。
在证书还原之前,我们是无法使用备份文件的,达到了防止备份文件被偷窥的目的。以下是如何还原到本地环境的详细步骤:创建master key;创建证书;还原数据库。
图三:还原证书后,成功读取到备份文件
图四:还原证书后,成功还原数据库到本地
图五:测试表数据和原始数据库保持一致
<a href="https://yq.aliyun.com/articles/42270">sqlserver · 最佳实践 · 透明数据加密tde在sqlserver的应用</a>