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;