共用方式為


sys.dm_database_encryption_keys (Transact-SQL)

適用於:SQL ServerAzure SQL 資料庫 Azure SQL 受控執行個體

傳回資料庫及其相關聯資料庫加密密鑰之加密狀態的相關信息。 如需資料庫加密的詳細資訊,請參閱透明資料加密 (TDE)

資料行名稱 資料類型 描述
database_id int 資料庫的標識碼。
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 Database 服務目標上,需要資料庫的 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)