这是我的第一篇文章,所以我要简短一点。 我有两个SQL 2014企业服务器;一个主副本和一个副副本。这是一个多租户部署,每个租户都有单独的数据库。 (没有共享数据库或共享架构)。我目前有一个AlwaysOn可用性组已启动并正在运行(更多要关注)。我有TDE要求。我有一个由我们的CA颁发的SSL证书。它安装在麻烦的SQL服务器上。我已将其转换为.PVK格式。我准备在两台服务器上使用相同的.PVK实现数据库加密
混乱的地方:
我将不胜感激任何见解或指导。非常感谢。 DC
答案 0 :(得分:0)
我不能回答第一部分,但第二部分的答案基本上就是你已经猜到的。使用与主服务器相同的规范在辅助服务器上创建新的主密钥,然后使用相同的证书。我找到了一个可以帮助您的Microsoft支持博客:DEMO
答案 1 :(得分:0)
因此,有助于了解TDE正在发生的事情以及所有活动部件的存在。让我们从底部开始,继续努力。
数据库加密密钥位于用户数据库中。当AG移动到另一个节点时,它将使用数据库进行故障转移。
加密密钥由位于master数据库中的服务器证书加密。为了在故障转移后对其进行解密,保护它的证书需要在尝试解密它的任何节点上可用。
证书通常受数据库主密钥(DMK)保护。由于master只是另一个数据库(虽然是一个特殊的数据库),它只需要一个DMK来保护证书。
虽然与此讨论无关,但DMK受服务主密钥(SMK)保护。安装实例时会为您生成SMK。如果您遇到的DMK需要在创建数据库的服务器以外的地方解密,请确保您拥有该SMK。我最近做的一件事是确保SMK在AG中的所有节点上匹配(使用backup service master key
和restore service master key
)。这样,当用户数据库在节点之间发生故障时,SMK可以由新节点上的SMK自动解密(因为它是相同的SMK)。至于为什么它与此讨论无关,您的主数据库不会在节点之间失败。
至于需要将证书导入注册表,我根据自己的经验不必这样做。