加入收藏 | 设为首页 | 会员中心 | 我要投稿 温州站长网 (https://www.0577zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

尝试恢复加密数据库时遇到问题

发布时间:2021-01-31 10:12:32 所属栏目:MsSql教程 来源:网络整理
导读:我试图将加密数据库从默认服务器复制到我的服务器进行测试 但我这样做有麻烦,因为我从来没有这样做过 所以我要解释我的程序和我得到的错误 首先我创建一个主密钥: USE masterGOCREATE MASTER KEY ENCRYPTION BY PASSWORD ='DB-PaSSw0rD'GO 现在一切都很好

我试图将加密数据库从默认服务器复制到我的服务器进行测试

但我这样做有麻烦,因为我从来没有这样做过
所以我要解释我的程序和我得到的错误

首先我创建一个主密钥:

USE master
GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD ='DB-PaSSw0rD'
GO

现在一切都很好:
命令已成功完成.

然后我通过导入在默认服务器上创建的证书来创建证书:

CREATE CERTIFICATE TDECERT
FROM FILE = 'C:tempTDECert.cer'
WITH PRIVATE KEY (FILE = 'C:tempTDECertKey.pvk',DECRYPTION BY PASSWORD ='pAssW0rD')
GO

但我得到:
Msg 15581,Level 16,State 1,Line 1

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

要解决此问题,我尝试打开主密钥:

OPEN MASTER KEY DECRYPTION BY PASSWORD ='DB-PaSSw0rD'
ALTER MASTER KEY ADD ENCRYPTION BY SERVICE MASTER KEY

但我得到:
找不到对称密钥’主密钥’,因为它不存在或者您没有权限.

然后解决第二个问题我尝试授予它访问权限:

GRANT CONTROL ON CERTIFICATE :: TDECERT To Administrator

但我得到:
找不到证书’TDECERT’,因为它不存在或您没有权限.

提前谢谢你的时间

解决方法

问题解决了

我所要做的就是添加

USE master

之前

CREATE CERTIFICATE TDECERT
FROM FILE = 'C:tempTDECert.cer'
WITH PRIVATE KEY (FILE = 'C:tempTDECertKey.pvk',DECRYPTION BY PASSWORD ='pAssW0rD')
GO

并且不需要任何其他东西

那简单!

(编辑:温州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读