检查我在 SQL 服务器上的数据库实例是否由 TDE 加密?
Check if my database instance on SQL server is encrypted by TDE?
我对 SQL 服务器的透明加密 (TDE) 有疑问。我需要转储一个数据库实例,该实例将由另一个 DBA 通过转储的数据文件远程恢复。我被要求确保转储的数据文件没有 TDE,以便 DBA 可以恢复它。上网查了一下,发现一个查询列出加密状态如下:
SELECT db_name(database_id), encryption_state
FROM sys.dm_database_encryption_keys;
我的数据库实例根本不在结果中。我运行另一个查询如下:
SELECT
db.name,
db.is_encrypted,
dm.encryption_state,
dm.percent_complete,
dm.key_algorithm,
dm.key_length
FROM
sys.databases db
LEFT OUTER JOIN sys.dm_database_encryption_keys dm
ON db.database_id = dm.database_id;
GO
我的数据库实例 is_encrypted
的值为 0,所有其他值为空。
这是否意味着我的数据库实例根本没有加密?
如果你的输出是这样的...
name | is_encrypted | encryption_state | percent_complete | key_algorithm | ley_length
--------------------------------------------------------------------------------------------
MyDatabase | 0 | NULL | NULL | NULL | NULL
...您的数据库 [MyDatabase] 未加密。它也没有配置数据库加密密钥。
但是,如果任何数据库在 [is_encrypted] 以外的列中具有非 NULL(例如 [encryption_state] = 1),则这些数据库要么被加密,要么被部分加密 encrypted/decrypted 或准备加密。
在此处阅读有关加密状态的详细信息:
https://docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-database-encryption-keys-transact-sql?view=sql-server-ver15
我对 SQL 服务器的透明加密 (TDE) 有疑问。我需要转储一个数据库实例,该实例将由另一个 DBA 通过转储的数据文件远程恢复。我被要求确保转储的数据文件没有 TDE,以便 DBA 可以恢复它。上网查了一下,发现一个查询列出加密状态如下:
SELECT db_name(database_id), encryption_state
FROM sys.dm_database_encryption_keys;
我的数据库实例根本不在结果中。我运行另一个查询如下:
SELECT
db.name,
db.is_encrypted,
dm.encryption_state,
dm.percent_complete,
dm.key_algorithm,
dm.key_length
FROM
sys.databases db
LEFT OUTER JOIN sys.dm_database_encryption_keys dm
ON db.database_id = dm.database_id;
GO
我的数据库实例 is_encrypted
的值为 0,所有其他值为空。
这是否意味着我的数据库实例根本没有加密?
如果你的输出是这样的...
name | is_encrypted | encryption_state | percent_complete | key_algorithm | ley_length
--------------------------------------------------------------------------------------------
MyDatabase | 0 | NULL | NULL | NULL | NULL
...您的数据库 [MyDatabase] 未加密。它也没有配置数据库加密密钥。
但是,如果任何数据库在 [is_encrypted] 以外的列中具有非 NULL(例如 [encryption_state] = 1),则这些数据库要么被加密,要么被部分加密 encrypted/decrypted 或准备加密。
在此处阅读有关加密状态的详细信息: https://docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-database-encryption-keys-transact-sql?view=sql-server-ver15