ALTER DATABASE ENCRYPTION KEY (Transact-SQL)
适用于:SQL Server Analytics Platform System (PDW)
改变用于以透明方式加密数据库的加密密钥和证书。 有关透明数据库加密的详细信息,请参阅透明数据加密 (TDE)。
语法
-- 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
}
[ ; ]
参数
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)