ALTER DATABASE ENCRYPTION KEY (Transact-SQL)
改变用于以透明方式加密数据库的加密密钥和证书。有关透明数据库加密的详细信息,请参阅了解透明数据加密 (TDE)。
语法
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