sys.dm_database_backups

适用于:Azure SQL 数据库Microsoft Fabric SQL 数据库

返回有关Azure SQL 数据库逻辑服务器和 Microsoft Fabric 中 SQL 数据库中数据库备份的信息。

注意

sys.dm_database_backups DMV 目前为预览版,适用于所有 Azure SQL 数据库服务层,但“超大规模”层除外。 由于“超大规模”服务层级依赖于备份的快照,因此在“超大规模”服务层级中运行此 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 数据库中,在“基本”、“S0”和“S1”服务目标中,对于弹性池中的数据库,需要服务器管理员帐户、Microsoft Entra ID 管理员帐户或 ##MS_ServerStateReader## 服务器角色的成员身份。 在所有其他SQL 数据库服务目标上,需要对数据库的 VIEW DATABASE STATE 权限或 ##MS_ServerStateReader## 服务器角色的成员身份。

在 Fabric SQL 数据库中,必须向数据库中的用户授予 VIEW DATABASE STATE 才能查询此 DMV。 或者,Fabric 工作区可以查询此 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;