首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >将“加密启用”设置为FALSE...what会出错吗?

将“加密启用”设置为FALSE...what会出错吗?
EN

Database Administration用户
提问于 2015-12-22 11:04:25
回答 1查看 7.7K关注 0票数 7

我正在同一台服务器上将一个数据库从SQL Server 2012迁移到SQL Server 2014

我在一个显然是加密的数据库上配置日志传送:

在设置日志传送时,我得到了以下消息(当它开始从备份恢复数据库时):

我是这里的新DBA,没有关于主密钥、加密密钥等的报告。

我正在设置从SQL2012到SQL2014的日志传送(没有恢复)。如果我将此数据库设置为Encryption enabled - false并尝试使用日志传送向导恢复数据库,会发生什么错误?

关于这个问题有一些问题,比如这一个,但是他们都说我需要密码。

我刚刚在主服务器(2012年)的master > security > certificates上找到了这个证书:

在Interet上有一些代码示例,但是我真的不能相信它们(我不认为这太简单了):

代码语言:javascript
代码运行次数:0
运行
复制
`USE MASTER
GO
ALTER DATABASE DatabaseName
SET ENCRYPTION OFF
GO
USE DatabaseName
GO
DROP DATABASE ENCRYPTION KEY
GO`

Edit1:

在这个问题上 Dylon说:

如果收到拇指打印错误,则无法从源服务器的证书/密钥备份中正确创建证书。

我对这个主题感到困惑,我想要的只是禁用加密,恢复另一台服务器上的数据库以记录传送,并在某一天激活加密。

Edit2:

Database > tasks > manage database encryption上也有一些选项:

禁用它,我将能够再次备份数据库,并在新实例上恢复它?

EN

回答 1

Database Administration用户

回答已采纳

发布于 2015-12-22 12:46:58

不要禁用TDE。除了是一个冗长的数据大小操作之外,它最初建立是有原因的,您可能会破坏TDE存在的任何遵从性/操作原因。

而是在TDE存在的情况下正确地设置日志传送。遵循将受TDE保护的数据库移动到另一个服务器中描述的步骤。您将从原始服务器导出TDE证书,然后在备用服务器上导入它,确保它是用master数据库主密钥加密的,而数据库master主密钥又是用服务主密钥加密的。在此之后,如果操作正确,恢复操作就会成功,因为需要的TDE证书已经存在。

要复制证书:证书位于主实例的master数据库中。你得跑:

代码语言:javascript
代码运行次数:0
运行
复制
BACKUP CERTIFICATE TDE_CERT 
 TO FILE <where to save cert> 
 WITH PRIVATE KEY (FILE = <where to save private key>, 
  ENCRYPTION BY PASSWORD = <password for the private key file>);

然后将证书文件和私钥文件复制到辅助文件中,并使用以下方法在master中还原它:

代码语言:javascript
代码运行次数:0
运行
复制
 CREATE CERTIFICATE TDE_CERT 
  FROM FILE = <your copied cert file> 
  WITH PRIVATE KEY (FILE = <your copied private key file>,
   DECRYPTION BY PASSWORD = <password that protects private key file>);

TDE_CERTmaster上的辅助需要用master数据库主密钥加密,这很可能需要创建。

票数 7
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/124321

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档