sys.dm_database_backups

Gilt für:YesAzure SQL-Datenbank

Gibt Informationen zu Sicherungen einer Datenbank in einem Azure SQL-Datenbank Server zurück.

Hinweis

sys.dm_database_backups DMV befindet sich derzeit in der Vorschau und steht für alle Azure SQL-Datenbank Dienstebenen außer Hyperscale-Ebene zur Verfügung.

Spaltenname Datentyp Beschreibung
backup_file_id uniqueidentifier ID der generierten Sicherungsdatei. Nicht NULL
database_guid uniqueidentifier Logische Datenbank-ID der Azure SQL-Datenbank, auf der der Vorgang ausgeführt wird. Nicht NULL.
physical_database_name nvarchar(128) Name der physischen Azure SQL-Datenbank, auf der der Vorgang ausgeführt wird. Nicht NULL
server_name nvarchar(128) Name des physischen Servers, auf dem die Azure SQL-Datenbank vorhanden ist, die gesichert wird. Nicht NULL.
backup_start_date datetime2(7) Zeitstempel, wenn der Backup Vorgang gestartet wurde. Nicht NULL.
backup_finish_date datetime2(7) Zeitstempel, wenn der Backup Vorgang abgeschlossen ist. Nicht NULL.
backup_type char(1) Typ der Backup

D = Vollständige Datenbank-Backup
I = inkrementelle oder differenzielle Backup
L = Protokoll Backup. Nicht NULL.
in_retention bit Backup Aufbewahrungsstatus. Gibt an, ob die Sicherung innerhalb des Aufbewahrungszeitraums liegt.

1 = In Aufbewahrung
0 = Nicht mehr aufbewahrt. Null.

Berechtigungen

Erfordert die VIEW DATABASE STATE-Berechtigung für die Datenbank.

Hinweise

Sicherungen, die in Backup Verlaufsansicht aufbewahrt und angezeigt werden, hängen von der konfigurierten Sicherungsaufbewahrung ab. Einige Sicherungen, die älter als der Aufbewahrungszeitraum sind, in_retention=0, werden auch in dm_database_backups Ansicht angezeigt. Sie sind erforderlich, um die Wiederherstellung innerhalb der konfigurierten Aufbewahrung zu tun.

Beispiel

Liste aller aktiven Sicherungen für die aktuelle Datenbank anzeigen, die nach Sicherungsendedatum sortiert ist.

SELECT * 
FROM sys.dm_database_backups     
ORDER BY backup_finish_date DESC;  

Sie können ein freundlicheres Resultset erhalten, indem Sie sich einer sys.databases Anweisung anschließen und verwenden CASE . Führen Sie diese Abfrage in der master Datenbank aus, um den Sicherungsverlauf für alle Datenbanken auf dem Azure SQL-Datenbank Server abzurufen.

SELECT db.name
    , 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 is_Bakcup_Available
FROM sys.dm_database_backups AS ddb
INNER JOIN sys.databases AS db
    ON ddb.physical_database_name = db.physical_database_name
ORDER BY backup_start_date DESC;

Führen Sie die folgende Abfrage im Benutzerdatenbankkontext aus, um den Sicherungsverlauf für eine einzelne Datenbank abzurufen.

SELECT 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 is_Bakcup_Available
FROM sys.dm_database_backups AS ddb
INNER JOIN sys.databases AS db
    ON ddb.physical_database_name = db.physical_database_name
ORDER BY backup_start_date DESC;