ALTER DATABASE ENCRYPTION KEY (Transact-SQL)

改变用于以透明方式加密数据库的加密密钥和证书。有关透明数据库加密的详细信息,请参阅了解透明数据加密 (TDE)

主题链接图标Transact-SQL 语法约定

语法

ALTER DATABASE ENCRYPTION KEY
      REGENERATE WITH ALGORITHM = { AES_128 | AES_192 | AES_256 | TRIPLE_DES_3KEY }
   |
   ENCRYPTION BY SERVER 
    {
        CERTIFICATE Encryptor_Name |
        ASYMMETRIC KEY Encryptor_Name
    }
[ ; ]

参数

  • REGENERATE WITH ALGORITHM = { AES_128 | AES_192 | AES_256 | TRIPLE_DES_3KEY }
    指定用于加密密钥的加密算法。

  • ENCRYPTION BY SERVER CERTIFICATE Encryptor_Name
    指定用于加密数据库加密密钥的证书的名称。

  • ENCRYPTION BY SERVER ASYMMETRIC KEY Encryptor_Name
    指定用于加密数据库加密密钥的非对称密钥的名称。

注释

用于加密数据库加密密钥的证书或非对称密钥必须位于 master 系统数据库中。

数据库所有者 (dbo) 发生更改时不必重新生成数据库加密密钥。

在数据库加密密钥修改过两次后,必须执行日志备份才能再次对数据库加密密钥进行修改。

权限

需要数据库的 CONTROL 权限和用于加密数据库加密密钥的证书或非对称密钥的 VIEW DEFINITION 权限。

示例

下面的示例将数据库加密密钥更改为使用 AES_256 算法。

USE AdventureWorks2008R2;
GO
ALTER DATABASE ENCRYPTION KEY
REGENERATE WITH ALGORITHM = AES_256;
GO