Msg 15581 Please create a master key in the database or ope

WBOY
发布: 2016-06-07 17:37:49
原创
1053 人浏览过

今天测试将加密的数据库还原到另外一台服务器,执行解密代码的时候出现下面的错误信息:Msg15581,Level16,State3,Line1Pleasecreatea&..

 

今天测试将加密的数据库还原到另外一台服务器,执行解密代码的时候出现下面的错误信息: 

 

Msg 15581, Level 16, State 3, Line 1

Please create a master key in the database or open themaster key in the session before performing this operation.

解决办法1:用密码打开Database Master key

 

160426969.png

 

解决办法2:可以还原服务主密匙。

 

160428520.png

参考:OPEN MASTER KEY RESTORESERVICE MASTER KEY (Transact-SQL)

 

注意: 因为ServiceMaster Key是加密层次的根,如果有其他数据库已经用Service Master Key做过加密会导致问题,所以慎重使用。 

 

原因: 默认情况下,数据库主密钥使用服务主密钥进行加密,,需要此数据库主密钥进行解密或加密时,它将自动打开。如果数据库第一次附加或还原到新的 SQL Server 实例时,数据库主密钥(由服务主密钥加密)的副本尚未存储在服务器中。 必须使用 OPEN MASTER KEY 语句解密数据库主密钥 (DMK)。 一旦 DMK 解密后,通过使用 ALTER MASTER KEY REGENERATE 语句向服务器提供 DMK(使用服务主密钥 (SMK) 加密)的副本,即可拥有将来启用自动解密的选项。

 

 

本文出自 “关注SQL Server技术” 博客,请务必保留此出处

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!