適用対象:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Microsoft Fabric の SQL データベース
データベースの暗号化状態とそれに関連付けられているデータベース暗号化キーに関する情報を返します。 データベース暗号化の詳細については、「Transparent Data Encryption (TDE)」を参照してください。
| 列名 | データ型 | 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 の 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)
データベースの暗号化鍵を作成する(Transact-SQL)
データベース暗号化鍵(Transact-SQL)
データベース暗号鍵(Transact-SQL)