sys.dm_database_encryption_keys (Transact-SQL)
适用于:SQL Server Azure SQL 数据库 Azure SQL 托管实例
返回与数据库加密状态以及相关联数据库加密密钥有关的信息。 有关数据库加密的详细信息,请参阅透明数据加密 (TDE)。
列名称 | 数据类型 | 描述 |
---|---|---|
database_id | int | 数据库 ID。 |
encryption_state | int | 指示数据库是加密的还是未加密的。 0 = 不存在数据库加密密钥,未加密 1 = 未加密 2 = 正在进行加密 3 = 已加密 4 = 正在更改密钥 5 = 正在进行解密 6 = 正在进行保护更改(正在更改对数据库加密密钥进行加密的证书或非对称密钥)。 |
create_date | datetime | 显示创建加密密钥的日期(UTC)。 |
regenerate_date | datetime | 显示重新生成加密密钥的日期(UTC)。 |
modify_date | datetime | 显示已修改加密密钥的日期(以 UTC 为单位)。 |
set_date | datetime | 显示加密密钥应用于数据库的日期(以 UTC 为单位)。 |
opened_date | datetime | 显示数据库密钥上次打开时间(UTC)。 |
key_algorithm | nvarchar(32) | 显示用于密钥的算法。 |
key_length | int | 显示密钥的长度。 |
encryptor_thumbprint | varbinary(20) | 显示加密程序的指纹。 |
encryptor_type | nvarchar(32) | 适用范围: SQL Server (SQL Server 2012 (11.x) 到 当前版本)。 描述加密程序。 |
percent_complete | real | 数据库加密状态更改的完成百分比。 如果未发生状态更改,则为 0。 |
encryption_state_desc | nvarchar(32) | 适用于:SQL Server 2019 (15.x) 及更高版本。 指示数据库是否已加密的字符串。 NONE 加密 加密 DECRYPTION_IN_PROGRESS ENCRYPTION_IN_PROGRESS KEY_CHANGE_IN_PROGRESS PROTECTION_CHANGE_IN_PROGRESS |
encryption_scan_state | int | 适用于:SQL Server 2019 (15.x) 及更高版本。 指示加密扫描的当前状态。 0 = 未启动扫描,未启用 TDE 1 = 正在扫描。 2 = 扫描正在进行,但已暂停,用户可以恢复。 3 = 由于某种原因中止了扫描,需要手动干预。 请联系Microsoft 支持部门获取更多帮助。 4 = 扫描已成功完成,已启用 TDE,加密已完成。 |
encryption_scan_state_desc | nvarchar(32) | 适用于:SQL Server 2019 (15.x) 及更高版本。 指示加密扫描的当前状态的字符串。 NONE RUNNING SUSPENDED ABORTED 完成 |
encryption_scan_modify_date | datetime | 适用于:SQL Server 2019 (15.x) 及更高版本。 显示上次修改加密扫描状态的日期(UTC)。 |
权限
对于 SQL Server 和 SQL 托管实例,需要 VIEW SERVER STATE
权限。
在SQL 数据库基本、S0 和 S1 服务目标以及弹性池中的数据库、服务器管理员帐户、Microsoft Entra 管理员帐户或服务器角色的成员##MS_ServerStateReader##
身份是必需的。 对于所有其他 SQL 数据库服务目标,需要数据库的 VIEW DATABASE STATE
权限或 ##MS_ServerStateReader##
服务器角色中的成员身份。
SQL Server 2022 及更高版本的权限
要求对服务器具有 VIEW SERVER SECURITY STATE 权限。
另请参阅
与安全性相关的动态管理视图和函数 (Transact-SQL)
透明数据加密 (TDE)
SQL Server 加密
SQL Server 和数据库加密密钥(数据库引擎)
加密层次结构
ALTER DATABASE SET 选项 (Transact-SQL)
CREATE DATABASE ENCRYPTION KEY (Transact-SQL)
ALTER DATABASE ENCRYPTION KEY (Transact-SQL)
DROP DATABASE ENCRYPTION KEY (Transact-SQL)