

# 在 RDS for SQL Server 上加密数据
<a name="TDE.Encrypting"></a>

将 TDE 选项添加到选项组后，Amazon RDS 将生成在加密过程中使用的证书。然后，您就可以使用该证书运行为数据库实例上的数据库加密数据的 SQL 语句。

下例使用 RDS 创建的、名为 `RDSTDECertificateName` 的证书加密名为 `myDatabase` 的数据库。

```
 1. ---------- Turning on TDE -------------
 2. 
 3. -- Find an RDS TDE certificate to use
 4. USE [master]
 5. GO
 6. SELECT name FROM sys.certificates WHERE name LIKE 'RDSTDECertificate%'
 7. GO
 8. 
 9. USE [myDatabase]
10. GO
11. -- Create a database encryption key (DEK) using one of the certificates from the previous step
12. CREATE DATABASE ENCRYPTION KEY WITH ALGORITHM = AES_256
13. ENCRYPTION BY SERVER CERTIFICATE [RDSTDECertificateName]
14. GO
15. 
16. -- Turn on encryption for the database
17. ALTER DATABASE [myDatabase] SET ENCRYPTION ON
18. GO
19. 
20. -- Verify that the database is encrypted
21. USE [master]
22. GO
23. SELECT name FROM sys.databases WHERE is_encrypted = 1
24. GO
25. SELECT db_name(database_id) as DatabaseName, * FROM sys.dm_database_encryption_keys
26. GO
```

使用 TDE 加密 SQL Server 数据库所花的时间取决于几个因素。其中包括数据库实例的大小、实例是否使用预调配 IOPS、数据量及其他因素。