我正在为 SQL Server 使用 TDE。查询证书:
select database_name = d.name,
dek.encryptor_type,
cert_name = c.name
from sys.dm_database_encryption_keys dek
left join sys.certificates c
on dek.encryptor_thumbprint = c.thumbprint
inner join sys.databases d
on dek.database_id = d.database_id;
输出:
database encryptor cert_name
tempdb ASYMMETRIC KEY NULL
TDE_Test CERTIFICATE TestZert3
查询加密状态:
select db_name(database_id), encryption_state,
percent_complete, key_algorithm, key_length
from sys.dm_database_encryption_keys
输出:
database encrypt_state percent_complete key_algorithm
tempdb 3 0 AES 256
TDE_Test 3 0 AES 256
为什么 complet_percent 为 0?
您的数据库已经加密 -
encrypt_state = 3 -- Encrypted.
当加密正在进行时,您将看到该
percent_complete
值。当数据库被加密时,该percent_complete
值为 0。您可以参考我的脚本列出数据库、加密状态以及其他有用信息。