sys.dm_database_backups
Gilt für:Azure 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;