次の方法で共有


sys.dm_database_encryption_keys (Transact-SQL)

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceMicrosoft Fabric プレビューの SQL データベース

データベースの暗号化状態とそれに関連付けられているデータベース暗号化キーに関する情報を返します。 データベース暗号化の詳細については、「Transparent Data Encryption (TDE)」を参照してください。

Column Name Data Type Description
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

UNENCRYPTED

ENCRYPTED

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

COMPLETE
encryption_scan_modify_date datetime 適用対象: SQL Server 2019 (15.x) 以降。

暗号化スキャンの状態が最後に変更された日付 (UTC) を表示します。

Permissions

SQL Server と SQL Managed Instance では、VIEW SERVER STATE アクセス許可が必要です。

SQL Database の BasicS0S1 サービス対象、および Elastic Pool のデータベースの場合、サーバー管理者アカウント、Microsoft Entra 管理者アカウント、または ##MS_ServerStateReader##サーバー ロールのメンバーシップが必要です。 他のすべての SQL Database サービス目標では、データベースに対する VIEW DATABASE STATE アクセス許可または ##MS_ServerStateReader## サーバー ロールのメンバーシップのいずれかが必要です。

Fabric SQL データベースでは、この DMV に対してクエリを実行するために、データベースの VIEW DATABASE STATE をユーザーに付与する必要があります。 または、任意の ファブリック ワークスペースのメンバー はこの DMV に対してクエリを実行できます。

SQL Server 2022 以降でのアクセス許可

サーバーに対する VIEW SERVER SECURITY STATE 権限が必要です。

See also

セキュリティ関連の動的管理ビューおよび関数 (Transact-SQL)
透過的なデータ暗号化 (TDE)
SQL Server の暗号化
SQL Server とデータベースの暗号化キー (データベース エンジン)
Encryption Hierarchy
ALTER DATABASE SET のオプション (Transact-SQL)
CREATE DATABASE ENCRYPTION KEY (Transact-SQL)
ALTER DATABASE ENCRYPTION KEY (Transact-SQL)
DROP DATABASE ENCRYPTION KEY (Transact-SQL)