Rac*_*SQL 7 sql-server migration log-shipping transparent-data-encryption
我正在将数据库从 迁移SQL Server 2012
到SQL Server 2014
同一服务器上。
我正在一个明显加密的数据库上配置 LOG SHIPPING:
设置日志传送时,我收到此消息(当它开始从备份恢复数据库时):
我是这里的新 DBA,没有关于主密钥、加密密钥等的报告。
我正在设置从 SQL2012 到 SQL2014 的日志传送(使用 norecovery)。如果我将此数据库设置为Encryption enabled - false
并尝试使用日志传送向导恢复数据库,会出现什么问题?
有一些关于这个问题的问题,比如This one,但他们都说我需要密码。
我刚刚master > security > certificates
在主服务器(2012)上找到了这个证书:
互联网上有一些代码示例,但我真的不能相信它们(我认为这不是太简单):
`USE MASTER
GO
ALTER DATABASE DatabaseName
SET ENCRYPTION OFF
GO
USE DatabaseName
GO
DROP DATABASE ENCRYPTION KEY
GO`
Run Code Online (Sandbox Code Playgroud)
编辑1:
在这个问题中, Dylon 说:
如果您收到指纹错误,则说明未从源服务器的证书/密钥备份正确创建证书。
我对这个主题感到困惑,我想要的只是禁用加密,恢复另一台服务器上的数据库以记录传送,并在某一天激活加密。
编辑2:
在Database > tasks > manage database encryption
有一些选项太:
禁用此功能,我将能够再次备份数据库,并在新实例上恢复它?
不要禁用 TDE。除了是一个冗长的数据大小操作之外,它最初建立是有原因的,您可能会破坏 TDE 存在的任何合规性/操作原因。
而是在存在 TDE 的情况下正确设置日志传送。按照将受 TDE 保护的数据库移动到另一个 SQL Server 中描述的步骤进行操作。您将从原始服务器导出TDE 证书,然后将其导入备用服务器,确保使用master
数据库主密钥对其进行加密,master
然后使用服务主密钥对数据库主密钥进行加密。之后,如果正确完成,恢复操作应该会成功,因为所需的 TDE 证书存在。
复制证书: 证书在master
主实例的数据库中。你需要运行:
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>);
Run Code Online (Sandbox Code Playgroud)
然后将证书和私钥文件复制到辅助文件并master
使用以下方法恢复它:
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>);
Run Code Online (Sandbox Code Playgroud)
TDE_CERT
在master
二级需要使用master
数据库主密钥加密,这可能需要创建。
归档时间: |
|
查看次数: |
6603 次 |
最近记录: |