恢复打开主密钥加密到测试环境

时间:2016-11-16 15:13:18

标签: sql-server encryption

环境:赢取2012和SQL 2014标准版。

问题:我每天都会将生产数据库还原到我们的测试服务器中。生产数据库具有加密密钥。恢复到测试服务器是一个每晚运行的SQL作业。

已尝试的项目:我尝试在sql作业中包含一个步骤来解密测试环境中的密钥:通过密码打开主密钥解密=''。我尝试使用EXEC,sp_executesql并将命令嵌入存储过程中。当我打开管理工作室并手动运行命令时,唯一真正有用的东西。

作业的结果:作业成功运行但什么也没做。我添加日志记录,没有任何错误指示。所有日志都说是Begin Executing。

问题:有没有人知道我如何通过密码=''来嵌入开放的主密钥解密?步入sql job所在的命令与工作。

1 个答案:

答案 0 :(得分:1)

我认为您遇到的问题是您在该会话中成功打开了主密钥,但其他会话却看不到。您随后需要使用测试服务器的服务主密钥重新加密数据库主密钥。幸运的是,一旦你用密码打开密钥(就像你已经拥有的那样),它就像以下一样简单:

alter master key add encryption by service master key;

此外,您不应该在open master key…声明中做任何奇特的事情。也就是说,无需将其包装在sp_executesql或其中任何一个中。