SQL对称密钥加密替代方案

时间:2017-09-04 07:38:42

标签: sql-server failover encryption-symmetric

我正在寻找对称密钥加密的替代方案,以便将敏感数据存储在Microsoft SQL数据库中。原因是几天前我在夜间(凌晨3点)发生错误,数据库响应了我的状态调用,用于后端的运行状况检查,错误

  

当前命令发生严重错误。结果(如果有的话)应该被丢弃。

(我用于健康检查的电话只调用我的休息API - 通过Web服务到数据库,从Member 中选择count(*)并返回计数。)

在该错误之后,每次使用来自数据库的敏感数据的api调用返回

  

请在执行此操作之前在数据库中创建主密钥或在会话中打开主密钥。

我的监控服务表示后端自动在2分钟后再次启动,但主密钥不再工作了。我用以下命令修复它

open master key decryption by password = 'password' alter master key add encryption by service master key

早上过后,但同时后端工作不正常。因此,故障转移并没有真正完成它的工作(因为我必须手动执行某些操作才能使所有内容再次运行)。

所以我试图在数据库中轻松存储敏感数据(必须能够再次解密),并且无需手动执行任何操作即可实现故障切换。

感谢您的投入!

1 个答案:

答案 0 :(得分:1)

我认为我正在阅读的是您正在使用某种HA技术(例如可用性组)。如果是这种情况,则需要注意确保拓扑的两端都可以打开数据库主密钥。

幸运的是,这样做很容易。您可以备份和还原服务主密钥(SMK)。因此,您将从辅助节点备份SMK并将其还原到主节点。 SQL Server将解密当前使用旧密钥加密的任何内容,并使用新密钥重新加密。