次の方法で共有


sys.dm_database_backups

適用対象:Azure SQL DatabaseMicrosoft Fabric SQL Database

Azure SQL Database 論理サーバーおよび Microsoft Fabric の SQL データベース内のデータベースのバックアップに関する情報を返します。

Note

sys.dm_database_backups DMV は現在プレビュー段階であり、Hyperscale レベルを除くすべての Azure SQL Database サービス レベルで使用できます。 Hyperscale サービス レベルはバックアップのスナップショットに依存するため、Hyperscale サービス レベルでこの DMV を実行しても結果は返されません。

列名 データ型 説明
backup_file_id uniqueidentifier 生成されたバックアップ ファイルの ID。 null ではありません。
logical_database_id uniqueidentifier 操作が実行される論理データベース ID。 null ではありません。
physical_database_name nvarchar(128) 操作が実行される物理データベースの名前。 null ではありません。
logical_server_name nvarchar(128) バックアップ対象のデータベースが存在する論理サーバーの名前。 Fabric の SQL データベースでは、これは NULLです。
logical_database_name nvarchar(128) 操作が実行されるデータベースのユーザー作成名。 null ではありません。
backup_start_date datetime2(7) バックアップ操作が開始されたときのタイムスタンプ。 null ではありません。
backup_finish_date datetime2(7) バックアップ操作が完了したときのタイムスタンプ。 null ではありません。
backup_type char(1) バックアップの種類。 null ではありません。

D = データベースの完全バックアップ
I = 増分バックアップまたは差分バックアップ
L = ログ バックアップ。
in_retention bit バックアップの保持状態。 バックアップが保持期間内かどうかを示します。

1 = 保持中
0 = 保持期間が切れ

アクセス許可

Azure SQL Database では、Basic、S0、S1 のサービス目標、エラスティック プール内のデータベースの場合、サーバー管理者アカウント、Microsoft Entra ID 管理者アカウント、または ##MS_ServerStateReader## サーバー ロールのメンバーシップが必要です。 他のすべての SQL Database サービス目標では、データベースに対する VIEW DATABASE STATE 権限、または ##MS_ServerStateReader## サーバー ロールのメンバーシップが必要です。

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

解説

バックアップ履歴ビューに保持および表示されるバックアップは、構成されたバックアップ保有期間によって異なります。 保有期間 (in_retention = 0) より古いバックアップの一部も、 sys.dm_database_backups ビューに表示されます。 構成されたリテンション期間内にポイントインタイム リストアを実行する必要があります。

現在のデータベースのすべてのアクティブなバックアップの一覧を、バックアップの終了日順に表示します。

SELECT *
FROM sys.dm_database_backups
ORDER BY backup_finish_date DESC;

データベースのバックアップのユーザー フレンドリな一覧を取得するには、次を実行してください。

SELECT backup_file_id, 
    backup_start_date,
    backup_finish_date,
    CASE backup_type
        WHEN 'D' THEN 'Full'
        WHEN 'I' THEN 'Differential'
        WHEN 'L' THEN 'Transaction log'
        END AS BackupType,
    CASE in_retention
        WHEN 1 THEN 'In retention'
        WHEN 0 THEN 'Out of retention'
        END AS IsBackupAvailable
FROM sys.dm_database_backups
ORDER BY backup_start_date DESC;