

# 为 RDS for SQL Server 关闭 TDE
<a name="TDE.Disabling"></a>

要为 RDS for SQL Server 数据库实例关闭 TDE，首先应确保数据库实例上没有留下加密的对象。为此，请解密对象或删除它们。如果该数据库实例中存在任何加密的对象，则您不能为该数据库实例关闭 TDE。如果用于加密的用户 TDE 证书已还原（已导入），则应将其删除。当您使用控制台从选项组中删除 TDE 选项时，控制台会指明它正在处理。此外，如果选项组与加密数据库实例或数据库快照关联，则会创建一个错误事件。

下例从名为 `customerDatabase` 的数据库中删除 TDE 加密。

```
 1. ------------- Removing TDE ----------------
 2. 
 3. USE [customerDatabase]
 4. GO
 5. 
 6. -- Turn off encryption of the database
 7. ALTER DATABASE [customerDatabase]
 8. SET ENCRYPTION OFF
 9. GO
10. 
11. -- Wait until the encryption state of the database becomes 1. The state is 5 (Decryption in progress) for a while
12. SELECT db_name(database_id) as DatabaseName, * FROM sys.dm_database_encryption_keys
13. GO
14. 
15. -- Drop the DEK used for encryption
16. DROP DATABASE ENCRYPTION KEY
17. GO
18. 
19. -- Drop a user TDE certificate if it was restored (imported)
20. EXECUTE msdb.dbo.rds_drop_tde_certificate @certificate_name='UserTDECertificate_certificate_name';
21. 
22. -- Alter to SIMPLE Recovery mode so that your encrypted log gets truncated
23. USE [master]
24. GO
25. ALTER DATABASE [customerDatabase] SET RECOVERY SIMPLE
26. GO
```

解密所有对象后，您有两个选项：

1. 您可以修改数据库实例，使其与没有 TDE 选项的选项组关联。

1. 您可以从选项组中删除 TDE 选项。