lxi*_*cas 6 sql-server encryption tde
我对 SQL Server 的透明加密 (TDE) 有疑问。我需要转储一个数据库实例,该实例将由另一个 DBA 通过转储的数据文件远程恢复。我被要求确保转储的数据文件没有 TDE,以便 DBA 可以恢复它。我上网查了一下,发现有一个列出加密状态的查询如下:
SELECT db_name(database_id), encryption_state
FROM sys.dm_database_encryption_keys;
Run Code Online (Sandbox Code Playgroud)
我的数据库实例根本不在结果中。我运行另一个查询,如下所示:
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
Run Code Online (Sandbox Code Playgroud)
我的数据库实例的 值为 0 is_encrypted,所有其他值为 null。
这是否意味着我的数据库实例根本没有加密?
小智 8
如果你的输出看起来像这样......
name | is_encrypted | encryption_state | percent_complete | key_algorithm | ley_length
--------------------------------------------------------------------------------------------
MyDatabase | 0 | NULL | NULL | NULL | NULL
Run Code Online (Sandbox Code Playgroud)
...您的数据库[MyDatabase]未加密。它也没有配置数据库加密密钥。
但是,如果任何数据库在除 [is_encrypted] 之外的列中具有非 NULL(例如 [encryption_state] = 1),则这些数据库要么已加密,要么部分加密/解密,要么准备加密。
在此处阅读有关加密状态的详细信息: https://learn.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-database-encryption-keys-transact-sql ?view=sql-server-ver15
| 归档时间: |
|
| 查看次数: |
33881 次 |
| 最近记录: |