我知道几种检查给定数据库是否已加密的方法。
使用sys.dm_database_encryption_keys
检查其encryption_state == 3
sys.databases
SELECT * FROM sys.databases WHERE name = '<db-name>' AND is_encrypted = 1
sys.key_encryptions
使用危急关头的数据库为此视图运行SELECT *
。
但是,到目前为止,唯一令我感到困惑的是为什么MS大佬们不存储信息量设置来指示是否在数据库文件本身内部对相关数据库进行了加密。
我从某处(很抱歉,我忘记了链接)读到加密信息是从主数据库而不是正在考虑的数据库中获取的。