Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL Server 2005-在其他服务器上还原加密的数据库_Sql Server_Sql Server 2005_Encryption_Symmetric Key - Fatal编程技术网

Sql server SQL Server 2005-在其他服务器上还原加密的数据库

Sql server SQL Server 2005-在其他服务器上还原加密的数据库,sql-server,sql-server-2005,encryption,symmetric-key,Sql Server,Sql Server 2005,Encryption,Symmetric Key,我已备份加密的DB(对称密钥/证书)和 已在其他服务器上还原它 不幸的是,我们在解密方面遇到了问题。。。希望 有人可以帮忙 在还原的数据库中,我可以在中看到对称密钥和证书 SSMS,但当我尝试使用cert打开密钥时(打开) 密钥A由证书解密证书B)我得到 以下是非常描述性的错误: 味精15466,第16级,状态1,第1行 解密过程中出错 有什么想法吗 提前感谢。您可能遇到的问题是服务器的数据库主密钥不同。据我所知,其他密钥基于此,在尝试解密数据时可能会导致问题。有关数据加密步骤的说明,请查看 我

我已备份加密的DB(对称密钥/证书)和 已在其他服务器上还原它

不幸的是,我们在解密方面遇到了问题。。。希望 有人可以帮忙

在还原的数据库中,我可以在中看到对称密钥和证书 SSMS,但当我尝试使用cert打开密钥时(打开) 密钥A由证书解密证书B)我得到 以下是非常描述性的错误:

味精15466,第16级,状态1,第1行 解密过程中出错

有什么想法吗


提前感谢。

您可能遇到的问题是服务器的数据库主密钥不同。据我所知,其他密钥基于此,在尝试解密数据时可能会导致问题。有关数据加密步骤的说明,请查看

我希望这个答案有帮助,不要太离谱

回答了这个问题:

“当您还原使用加密功能的数据库时,您只需注意一件事—数据库主密钥(DbMK)是否需要服务主密钥(SMK)加密,您需要重新生成此加密。请注意,在创建DbMK时,默认情况下会进行此加密,但如果您希望更严格地控制对加密数据的访问,则可能会故意删除此加密。无论如何,如果您确实对DbMK使用了此SMK加密,则重新生成的步骤如下:

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

就是这样-数据库加密功能现在应该像备份时一样工作。还要注意的是,在备份服务器上或其他地方恢复数据库并不重要。这个过程唯一重要的是,您知道保护DbMK的一个密码“

该链接对我有效,请按照2个链接进行备份/恢复


您可以使用UNC从目标服务器执行还原,无需复制文件。

主密钥由源服务器上的服务主密钥解密,我们正在使用目标服务器上的密码解密主密钥。我将主密钥更改为由服务主密钥解密,它现在可以工作了

你不应该只是给一个链接到另一个网站作为答案,因为该网站可能会过时的未来。相反,请单击此答案上的“编辑”链接,并在此处包含该页面中解决方案的基本部分。见: