我需要镜像一些数据库并在它们上使用透明数据加密(TDE),因为我们的数据必须在“静止”时加密。
我在主体和镜像上都设置了 TDE。我在设置两个数据库的镜像时遇到的问题。由于我使用的是 TDE,我不知道通过 gui 设置镜像的方法,所以我不得不使用 t-sql 来完成工作。
下面是我在镜像服务器上使用的代码
--Restore the full backup to the mirrored mdf and ldf
OPEN MASTER KEY DECRYPTION BY PASSWORD = '1Password'
RESTORE DATABASE TDE
FROM disk = '\\SERVERNAME\SQL_Stuff\Backup\TDE_FULL.bak'
WITH NORECOVERY,
REPLACE,
MOVE 'TDE' TO 'E:\TDE.mdf',
REPLACE,
MOVE 'TDE_log' TO 'G:\TDE.ldf'
CLOSE MASTER KEY
GO
--Restore the log backup to the mirrored db
OPEN MASTER KEY DECRYPTION BY PASSWORD = '1Password'
RESTORE LOG TDE
FROM DISK = '\\SERVERNAME\SQL_Stuff\Backup\TDE_LOG.trn'
WITH NORECOVERY;
CLOSE MASTER KEY …Run Code Online (Sandbox Code Playgroud) 我正在将数据库从 迁移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有一些选项太:
禁用此功能,我将能够再次备份数据库,并在新实例上恢复它?
sql-server migration log-shipping transparent-data-encryption