Sql server SQL对称密钥加密替代方案

Sql server SQL对称密钥加密替代方案,sql-server,failover,encryption-symmetric,Sql Server,Failover,Encryption Symmetric,我正在寻找对称密钥加密的替代方案,以便在Microsoft SQL数据库中保存敏感数据。原因是几天前,我在晚上(凌晨3点)发生了一个错误,数据库响应了我的状态调用,该调用用于后端的健康检查,但出现了一个错误 当前命令发生严重错误。如果有结果,则应放弃 (我用于健康检查的调用仅调用我的rest api—通过web服务访问数据库,从成员处执行select count(*)并返回计数。) 在该错误之后,使用数据库中敏感数据的每个api调用都返回 执行此操作之前,请在数据库中创建主密钥或在会话中打开主密

我正在寻找对称密钥加密的替代方案,以便在Microsoft SQL数据库中保存敏感数据。原因是几天前,我在晚上(凌晨3点)发生了一个错误,数据库响应了我的状态调用,该调用用于后端的健康检查,但出现了一个错误

当前命令发生严重错误。如果有结果,则应放弃

(我用于健康检查的调用仅调用我的rest api—通过web服务访问数据库,从成员处执行select count(*)并返回计数。)

在该错误之后,使用数据库中敏感数据的每个api调用都返回

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

我的监视器服务说后端在2分钟后自动启动,但主密钥不再工作。我用下面的命令修复了它

按密码打开主密钥解密='password'
更改主密钥通过服务主密钥添加加密

第二天早上,但同时后端无法正常工作。因此,故障切换并没有真正完成它的工作(因为我必须手动执行一些操作才能使一切恢复正常)

因此,我试图实现在数据库中轻松存储敏感数据(必须能够再次解密),并在不手动操作的情况下进行故障切换


谢谢你的意见

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


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

谢谢您的回答!如果发生严重错误时db server A被db server B替换,sql server是否可以自动执行此操作?我不想在凌晨3点手动执行此操作-故障切换应该在没有任何人工交互的情况下自动工作。(注意:我使用的是aws的多az数据库)这是一种在故障切换之前就可以做得很好的方法,可以让故障切换在不需要手动打开DMK的情况下工作。简言之:是的!当然,但我并不清楚我如何才能做到这一点。AWS将数据库镜像到另一个可用性区域中的第二个数据库,并在出现严重错误时自动将主数据库替换为镜像数据库。所以AWS为我做这项工作。如果可能的话,每次尝试使用SMK时,我都必须检查,如果不可能,我必须恢复它?哦…我没有任何使用Amazon RDS的个人经验。但据我所知,他们在后端使用数据库镜像来提供HA。您有权访问镜像辅助服务器吗?如果是这样,您可以从那里复制SMK并将其还原到主服务器。不过,我不知道他们在服务器级别(作为托管服务)给了您多少控制权。那条评论说数据库不可读取。但是,您要查找的是服务器级对象。正如您希望登录在HA故障切换中无缝工作一样,我也希望它能够工作。如果没有其他问题,您可以通过Amazon支持来解决这一问题,因为“这应该是可行的”。