Sql server 更改SQL Server 2008 R2数据库主密钥是否会无缝更改依赖密钥?

Sql server 更改SQL Server 2008 R2数据库主密钥是否会无缝更改依赖密钥?,sql-server,sql-server-2008-r2,tde,Sql Server,Sql Server 2008 R2,Tde,在SQL Server 2008 R2中,如果更改数据库主密钥,则必须对更改用户数据库加密密钥的证书进行任何更改。我有一个每年更新的要求 因此,如果我这样做: USE [Master]; ALTER MASTER KEY REGENERATE WITH ENCRYPTION BY PASSWORD = 'blah((blah&something'; GO 它还会更新加密为用户数据库加密密钥创建的所有证书的密钥吗 是否存在数据丢失风险 有很多关于如何进行更改的示例,但我很难找到有关此特定

在SQL Server 2008 R2中,如果更改数据库主密钥,则必须对更改用户数据库加密密钥的证书进行任何更改。我有一个每年更新的要求

因此,如果我这样做:

USE [Master];
ALTER MASTER KEY REGENERATE WITH ENCRYPTION BY PASSWORD = 'blah((blah&something';
GO
  • 它还会更新加密为用户数据库加密密钥创建的所有证书的密钥吗

  • 是否存在数据丢失风险


  • 有很多关于如何进行更改的示例,但我很难找到有关此特定情况的要点注释。

    重新生成DBMK将重新加密使用DBMK加密的所有密钥,以及一些使用DBMK加密的内部内容(例如service broker对话端点会话密钥)。没有数据丢失的风险。如果无法打开旧的DBMK(例如未知密码),则ALTER语句将失败。在这种情况下,如果使用强制选项,则如果旧的DBMK加密是唯一可用的,并且在强制重新生成中丢失,则可能会发生数据丢失


    不清楚“用户数据库加密密钥”是什么意思。物理存储在数据库中的所有密钥(包括任何数据库范围的证书,其私钥使用主密钥加密)都将重新加密。但是,例如,透明数据库加密密钥不会被重新加密,因为它们不会存储在它们加密的数据库中。

    很抱歉不明确。证书是使用数据库主密钥创建的,然后用于各种用户数据库,如下所示:使用[somedb]创建数据库加密密钥并使用算法=AES_256 encryption by server certificate xxx_cert;对用户数据库加密的影响(如果有)是透明的吗?影响应该是完全透明的。为什么需要重新生成主密钥?pci合规性要求每年更改密钥。