ALTER DATABASE ENCRYPTION KEY (Transact-SQL)

适用于:SQL ServerAnalytics Platform System (PDW)

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

Transact-SQL 语法约定

语法

-- Syntax for SQL Server  
  
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  
    }  
[ ; ]  
-- Syntax for Parallel Data Warehouse  
  
ALTER DATABASE ENCRYPTION KEY  
    {  
      {  
        REGENERATE WITH ALGORITHM = { AES_128 | AES_192 | AES_256 | TRIPLE_DES_3KEY }  
        [ ENCRYPTION BY SERVER CERTIFICATE Encryptor_Name ]  
      }  
      |  
      ENCRYPTION BY SERVER   CERTIFICATE Encryptor_Name    
    }  
[ ; ]  

注意

若要查看 SQL Server 2014 (12.x) 及更早版本的 Transact-SQL 语法,请参阅早期版本文档

参数

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 算法。

-- Uses AdventureWorks  
  
ALTER DATABASE ENCRYPTION KEY  
REGENERATE WITH ALGORITHM = AES_256;  
GO  

另请参阅

透明数据加密 (TDE)
SQL Server 加密
SQL Server 和数据库加密密钥(数据库引擎)
加密层次结构
ALTER DATABASE SET 选项 (Transact-SQL)
CREATE DATABASE ENCRYPTION KEY (Transact-SQL)
DROP DATABASE ENCRYPTION KEY (Transact-SQL)
sys.dm_database_encryption_keys (Transact-SQL)