我什么时候需要备份服务主密钥?


14

我正在阅读有关透明数据加密的一些文档和白皮书。一些文档还提到了备份服务主密钥(为澄清起见,我不是在谈论数据库主密钥)。我只是不完全理解为什么这样做是必要的,因为我可以使用TDE加密将数据库从服务器A(备份)备份/还原到服务器B(还原)而无需使用任何服务主密钥。

在什么情况下我需要还原服务主密钥?


您确定在数据库上启用了加密吗?另外,是否在启用TDE之后创建数据库备份?
Thomas Stringer

是的,我做到了。我需要证书和密钥来在服务器B上还原它(我对证书和密钥进行了备份)。但是在BI上创建了一个新的主密钥(未从服务器A还原该密钥),并且能够还原我的数据库。
gsharp 2012年

如果您在服务器B上还原了TDE证书和私钥,则它应该能够解密TDE数据库。您可以指向阅读SMK要求的文档吗?也许是更细微的事了
Remus Rusanu 2012年

我同意@RemusRusanu。证书是驱动加密的因素。对于服务主密钥,我认为将其备份(最初应该完成的事情)作为灾难恢复的一般管理最佳实践,我相信。
托马斯·斯金格

1
@gsharp:记录了如何备份SMK。我对一个文档感兴趣,该文档解释了为什么在传输TDE加密的数据库时需要SMK备份。
Remus Rusanu 2012年

Answers:


6

如果您正在谈论SQL服务主密钥,那么确实需要还原它的情况很少见。

我正在考虑需要还原SMK的几种情况...

  1. 不知何故它被损坏了。

  2. 您正在重建SQL Server,并计划从备份还原每个数据库,包括系统数据库。通常,在这种情况下,如果您使用相同的SQL服务帐户和密码,则可能也不需要还原SMK。

在TDE中,您无需还原SMK。就像每个人都说的那样,您只需要证书和私钥。您不需要具有相同的数据库主密钥,就像从备份创建证书时一样,该证书将由目标计算机的DMK加密。


2

将TDE数据库移动到新实例时,需要确保目标master数据库中也包含正确的证书(或非对称密钥)。如果您这样做失败,则会收到以下错误消息:

消息33111,级别16,状态3,第2行找不到指纹为'0xA085414434DB4A36B29 ..................'的服务器证书。

与启用TDE的数据库备份一起移动的不是服务主密钥,而是证书。例如,假设您使用master名为MyTDECert的证书创建了DEK(数据库加密密钥)。在目标实例上没有该证书,您将无法还原数据库。


是的,很明显。我的问题更多是为什么为什么需要(或出于什么目的)备份服务主密钥。请参阅technet.microsoft.com/zh-CN/library/aa337561
gsharp,2012年

-1

在升级复制拓扑时,需要备份和还原SMK的一种情况。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.