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 の Basic、S0、S1 サービス対象、および 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)