次の方法で共有


sys.dm_database_encryption_keys (Transact-SQL)

適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance Microsoft Fabric SQL Database

データベースの暗号化状態とそれに関連付けられているデータベース暗号化キーに関する情報を返します。 データベース暗号化の詳細については、「Transparent Data Encryption (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 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 権限が必要です。

関連項目

セキュリティ関連の動的管理ビューおよび関数 (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)