Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Eine Sicherungsrichtlinie steuert die Aufbewahrung und den Zeitplan Ihrer PostgreSQL-Datenbanksicherungen in Azure Database for PostgreSQL. Azure Database for PostgreSQL bietet langfristige Aufbewahrung von Datenbanksicherungen und unterstützt eine Sicherung pro Tag.
Sie können eine vorhandene Sicherungsrichtlinie wiederverwenden, um Sicherungen für PostgreSQL-Datenbanken in einem Tresor zu konfigurieren, oder Sie können eine Sicherungsrichtlinie für einen Azure Recovery Services-Tresor mithilfe der Data Protection REST-API für Azure Backup erstellen. In diesem Artikel erstellen Sie eine Sicherungsrichtlinie.
Grundlegendes zu PostgreSQL-Sicherungsrichtlinien
Während die Datenträgersicherung mehrere Sicherungen pro Tag und BLOB-Sicherung eine kontinuierliche Sicherung ohne Trigger ist, bietet Die PostgreSQL-Sicherung Archivschutz. Die Sicherungsdaten, die zuerst an den Tresor gesendet werden, können gemäß einer definierten Regel oder einem Lebenszyklus in die Archivebene verschoben werden.
In diesem Zusammenhang kann Ihnen die folgende Hierarchie helfen, das Sicherungsrichtlinienobjekt für PostgreSQL zu verstehen:
- Richtlinienregel
- Sicherungsregel
- Sicherungsparameter
- Sicherungstyp (eine vollständige Datenbanksicherung in diesem Fall)
- Anfänglicher Datenspeicher (wo die Sicherungen anfänglich landen)
- Trigger (wie die Sicherung ausgelöst wird)
- Zeitplan
- Standardmarkierungskriterien (ein Standardtag, das alle geplanten Sicherungen mit der Aufbewahrungsregel verknüpft)
- Sicherungsparameter
- Standardaufbewahrungsregel (eine Regel, die standardmäßig auf alle Sicherungen angewendet wird, im ursprünglichen Datenspeicher)
- Sicherungsregel
Das Richtlinienobjekt definiert, welche Arten von Sicherungen ausgelöst werden, wie sie ausgelöst werden (über einen Zeitplan), wo sie kategorisiert sind, wo sie landen (ein Datenspeicher) und der Lebenszyklus ihrer Daten in einem Datenspeicher.
Das Standardmäßige PowerShell-Objekt für PostgreSQL sagt, dass jede Woche eine vollständige Sicherung ausgelöst wird. Die Sicherungen erreichen den Tresor, in dem sie drei Monate lang gespeichert sind.
Wenn Sie der Richtlinie die Archivebene hinzufügen möchten, müssen Sie entscheiden, wann die Daten aus dem Tresor in das Archiv verschoben werden, wie lange die Daten im Archiv verbleiben und welche der geplanten Sicherungen als archivierbar markiert werden sollen. Sie müssen eine Aufbewahrungsregel hinzufügen, die den Lebenszyklus der Sicherungsdaten aus dem Tresordatenspeicher zum Archivdatenspeicher definiert. Die Aufbewahrungsregel definiert auch, wie lange die Sicherungsdaten im Archivdatenspeicher verbleiben. Anschließend müssen Sie ein Tag hinzufügen, das die geplanten Sicherungen als berechtigt kennzeichnet, archiviert zu werden.
Das resultierende PowerShell-Objekt sieht wie folgt aus:
- Richtlinienregel
- Sicherungsregel
- Sicherungsparameter
- Sicherungstyp (eine vollständige Datenbanksicherung in diesem Fall)
- Anfänglicher Datenspeicher (wo die Sicherungen anfänglich landen)
- Trigger (wie die Sicherung ausgelöst wird)
- Zeitplan
- Standardmarkierungskriterien (ein Standardtag, das alle geplanten Sicherungen mit der Aufbewahrungsregel verknüpft)
- Neue Kategorisierungskriterien für die neue Aufbewahrungsregel mit demselben Namen
- Sicherungsparameter
- Standardaufbewahrungsregel (eine Regel, die standardmäßig auf alle Sicherungen angewendet wird, im ursprünglichen Datenspeicher)
- Neue Aufbewahrungsregel
- Lebenszyklus
- Quelldatenspeicher
- Zeitraum für das Löschen im Quelldatenspeicher
- In den Zieldatenspeicher kopieren
- Lebenszyklus
- Sicherungsregel
Erstellen einer Richtlinie
Wichtig
Derzeit wird das Aktualisieren oder Ändern einer vorhandenen Richtlinie nicht unterstützt. Erstellen Sie stattdessen eine neue Richtlinie mit den erforderlichen Details, und weisen Sie sie der relevanten Sicherungsinstanz zu.
Verwenden Sie den folgenden PUT Vorgang, um eine Sicherungsrichtlinie zu erstellen:
PUT https://management.azure.com/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupPolicies/{policyName}?api-version=2021-01-01
Der URI stellt die und {vaultName} die {policyName} Werte bereit. Der Anforderungstext enthält zusätzliche Informationen.
Erstellen des Anforderungstexts
Um eine Richtlinie für die PostgreSQL-Sicherung zu erstellen, benötigt der Anforderungstext die folgenden Komponenten:
| Name | Erforderlich | Typ | BESCHREIBUNG |
|---|---|---|---|
properties |
true |
BaseBackupPolicy: BackupPolicy |
BaseBackupPolicyResource-Eigenschaften |
Die vollständige Liste der Definitionen im Anforderungstext finden Sie in den REST-API-Sicherungsrichtlinien.
Beispiel für Anforderungstext
Die Richtlinie besagt Folgendes:
- Der Trigger wird für eine wöchentliche Sicherung zur gewählten Startzeit (Zeit +
P1W) geplant. - Der Datenspeicher ist ein Tresorspeicher, da die Sicherungen direkt in den Tresor übertragen werden.
- Die Sicherungen werden drei Monate lang im Tresor aufbewahrt (
P3M).
{
"datasourceTypes": [
"Microsoft.DBforPostgreSQL/servers/databases"
],
"name": "OssPolicy1",
"objectType": "BackupPolicy",
"policyRules": [
{
"backupParameters": {
"backupType": "Full",
"objectType": "AzureBackupParams"
},
"dataStore": {
"dataStoreType": "VaultStore",
"objectType": "DataStoreInfoBase"
},
"name": "BackupWeekly",
"objectType": "AzureBackupRule",
"trigger": {
"objectType": "ScheduleBasedTriggerContext",
"schedule": {
"repeatingTimeIntervals": [
"R/2021-08-15T06:30:00+00:00/P1W"
],
"timeZone": "UTC"
},
"taggingCriteria": [
{
"isDefault": true,
"tagInfo": {
"id": "Default_",
"tagName": "Default"
},
"taggingPriority": 99
}
]
}
},
{
"isDefault": true,
"lifecycles": [
{
"deleteAfter": {
"duration": "P3M",
"objectType": "AbsoluteDeleteOption"
},
"sourceDataStore": {
"dataStoreType": "VaultStore",
"objectType": "DataStoreInfoBase"
},
"targetDataStoreCopySettings": []
}
],
"name": "Default",
"objectType": "AzureRetentionRule"
}
]
}
Wichtig
Die Zeitformate unterstützen nur DateTime.
Time wird nicht unterstützt. Die Uhrzeit des Tages gibt die Startzeit der Sicherung an, nicht die Endzeit.
Lassen Sie uns den vorherigen JSON-Code mit zwei Änderungen aktualisieren:
- Fügen Sie Sicherungen an mehreren Tagen der Woche hinzu.
- Fügen Sie einen Archivdatenspeicher für die langfristige Aufbewahrung von PostgreSQL-Datenbanksicherungen hinzu.
Im folgenden Beispiel wird die wöchentliche Sicherung auf Sonntag, Mittwoch und Freitag jeder Woche geändert. Das Zeitplandatumsarray erwähnt die Datumsangaben, und die Wochentage für diese Datumsangaben werden als Wochentage verwendet. Sie müssen auch angeben, dass diese Zeitpläne jede Woche wiederholt werden sollen. Das Zeitplanintervall lautet 1 also, und der Intervalltyp lautet Weekly.
Geplanter Trigger
"trigger": {
"objectType": "ScheduleBasedTriggerContext",
"schedule": {
"repeatingTimeIntervals": [
"R/2021-08-15T22:00:00+00:00/P1W",
"R/2021-08-18T22:00:00+00:00/P1W",
"R/2021-08-20T22:00:00+00:00/P1W"
],
"timeZone": "UTC"
}
Wenn Sie den Archivschutz hinzufügen möchten, müssen Sie den Richtlinien-JSON-Code ändern.
Lebenszyklus der Aufbewahrung
Der vorherige JSON-Code verfügt über einen Lebenszyklus für den ursprünglichen Datenspeicher unter der Standardaufbewahrungsregel. In diesem Szenario besagt die Regel, dass die Sicherungsdaten nach drei Monaten gelöscht werden. Sie sollten eine neue Aufbewahrungsregel hinzufügen, die definiert, wann die Daten in den Archivdatenspeicher verschoben werden. Das heißt, Sicherungsdaten werden zuerst in den Archivdatenspeicher kopiert und dann im Tresordatenspeicher gelöscht.
Außerdem sollte die Regel die Dauer definieren, um die Daten im Archivdatenspeicher beizubehalten. Nennen wir diese neue Regel Monthly. Es definiert, dass Sicherungen für 6 Monate im Tresordatenspeicher aufbewahrt und dann in den Archivdatenspeicher kopiert werden sollen. Löschen Sie dann die Sicherungen im Tresordatenspeicher, und bewahren Sie die Daten 24 Monate im Archivdatenspeicher auf. Löschen Sie schließlich die Daten im Archivdatenspeicher.
"lifecycles": [
{
"deleteAfter": {
"duration": "P3M",
"objectType": "AbsoluteDeleteOption"
},
"sourceDataStore": {
"dataStoreType": "VaultStore",
"objectType": "DataStoreInfoBase"
},
"targetDataStoreCopySettings": []
}
],
"name": "Default",
"objectType": "AzureRetentionRule"
},
{
"isDefault": false,
"lifecycles": [
{
"deleteAfter": {
"duration": "P6M",
"objectType": "AbsoluteDeleteOption"
},
"sourceDataStore": {
"dataStoreType": "VaultStore",
"objectType": "DataStoreInfoBase"
},
"targetDataStoreCopySettings": {
"copyAfter": {
"objectType": "CopyOnExpiryOption"
},
"dataStore": {
"dataStoreType": "ArchiveStore",
"objectType": "DataStoreInfoBase"
}
}
},
{
"deleteAfter": {
"duration": "P24M",
"objectType": "AbsoluteDeleteOption"
},
"sourceDataStore": {
"dataStoreType": "ArchiveStore",
"objectType": "DataStoreInfoBase"
},
"targetDataStoreCopySettings": null
}
],
"name": "Monthly",
"objectType": "AzureRetentionRule"
}
Kategorisierungskriterien
Jedes Mal, wenn Sie eine Aufbewahrungsregel hinzufügen, müssen Sie ein entsprechendes Tag in der Trigger Eigenschaft der Richtlinie hinzufügen. Im folgenden Beispiel wird ein neues Tag zusammen mit den Kriterien (bei denen es sich um die erste erfolgreiche Sicherung des Monats handelt) mit exakt demselben Namen wie die entsprechende Aufbewahrungsregel erstellt, die angewendet werden soll.
In diesem Beispiel sollten die Tagkriterien benannt Monthlywerden:
{
"criteria": [
{
"absoluteCriteria": [
"FirstOfMonth"
],
"objectType": "ScheduleBasedBackupCriteria"
}
],
"isDefault": false,
"tagInfo": {
"tagName": "Monthly"
},
"taggingPriority": 15
}
Nachdem Sie alle Änderungen eingeschlossen haben, wird der JSON-Code der Richtlinie wie folgt angezeigt:
{
"datasourceTypes": [
"Microsoft.DBforPostgreSQL/servers/databases"
],
"name": "OssPolicy1",
"objectType": "BackupPolicy",
"policyRules": [
{
"backupParameters": {
"backupType": "Full",
"objectType": "AzureBackupParams"
},
"dataStore": {
"dataStoreType": "VaultStore",
"objectType": "DataStoreInfoBase"
},
"name": "BackupWeekly",
"objectType": "AzureBackupRule",
"trigger": {
"objectType": "ScheduleBasedTriggerContext",
"schedule": {
"repeatingTimeIntervals": [
"R/2021-08-15T22:00:00+00:00/P1W",
"R/2021-08-18T22:00:00+00:00/P1W",
"R/2021-08-20T22:00:00+00:00/P1W"
],
"timeZone": "UTC"
},
"taggingCriteria": [
{
"isDefault": true,
"tagInfo": {
"id": "Default_",
"tagName": "Default"
},
"taggingPriority": 99
},
{
"criteria": [
{
"absoluteCriteria": [
"FirstOfMonth"
],
"objectType": "ScheduleBasedBackupCriteria"
}
],
"isDefault": false,
"tagInfo": {
"tagName": "Monthly"
},
"taggingPriority": 15
}
]
}
},
{
"isDefault": true,
"lifecycles": [
{
"deleteAfter": {
"duration": "P3M",
"objectType": "AbsoluteDeleteOption"
},
"sourceDataStore": {
"dataStoreType": "VaultStore",
"objectType": "DataStoreInfoBase"
},
"targetDataStoreCopySettings": []
}
],
"name": "Default",
"objectType": "AzureRetentionRule"
},
{
"isDefault": false,
"lifecycles": [
{
"deleteAfter": {
"duration": "P6M",
"objectType": "AbsoluteDeleteOption"
},
"sourceDataStore": {
"dataStoreType": "VaultStore",
"objectType": "DataStoreInfoBase"
},
"targetDataStoreCopySettings": {
"copyAfter": {
"objectType": "CopyOnExpiryOption"
},
"dataStore": {
"dataStoreType": "ArchiveStore",
"objectType": "DataStoreInfoBase"
}
}
},
{
"deleteAfter": {
"duration": "P24M",
"objectType": "AbsoluteDeleteOption"
},
"sourceDataStore": {
"dataStoreType": "ArchiveStore",
"objectType": "DataStoreInfoBase"
},
"targetDataStoreCopySettings": null
}
],
"name": "Monthly",
"objectType": "AzureRetentionRule"
}
]
}
Weitere Informationen zur Richtlinienerstellung finden Sie unter Erstellen einer Sicherungsrichtlinie.
Überprüfen der Antwort
Die Erstellung oder Aktualisierung der Sicherungsrichtlinie ist ein synchroner Vorgang. Nachdem der Vorgang erfolgreich war, wird die folgende Statusantwort mit dem Richtlinieninhalt im Antworttext zurückgegeben.
| Name | Typ | BESCHREIBUNG |
|---|---|---|
200 OK |
BaseBackupPolicyResource |
Der Vorgang wird abgeschlossen. |
Beispielantwort
{
"properties": {
"policyRules": [
{
"backupParameters": {
"backupType": "Full",
"objectType": "AzureBackupParams"
},
"trigger": {
"schedule": {
"repeatingTimeIntervals": [
"R/2021-08-15T22:00:00+00:00/P1W",
"R/2021-08-18T22:00:00+00:00/P1W",
"R/2021-08-20T22:00:00+00:00/P1W"
],
"timeZone": "UTC"
},
"taggingCriteria": [
{
"tagInfo": {
"tagName": "Monthly",
"id": "Monthly_"
},
"taggingPriority": 15,
"isDefault": false,
"criteria": [
{
"absoluteCriteria": [
"FirstOfMonth"
],
"objectType": "ScheduleBasedBackupCriteria"
}
]
},
{
"tagInfo": {
"tagName": "Default",
"id": "Default_"
},
"taggingPriority": 99,
"isDefault": true
}
],
"objectType": "ScheduleBasedTriggerContext"
},
"dataStore": {
"dataStoreType": "VaultStore",
"objectType": "DataStoreInfoBase"
},
"name": "BackupWeekly",
"objectType": "AzureBackupRule"
},
{
"lifecycles": [
{
"deleteAfter": {
"objectType": "AbsoluteDeleteOption",
"duration": "P6M"
},
"targetDataStoreCopySettings": [
{
"dataStore": {
"dataStoreType": "ArchiveStore",
"objectType": "DataStoreInfoBase"
},
"copyAfter": {
"objectType": "CopyOnExpiryOption"
}
}
],
"sourceDataStore": {
"dataStoreType": "VaultStore",
"objectType": "DataStoreInfoBase"
}
},
{
"deleteAfter": {
"objectType": "AbsoluteDeleteOption",
"duration": "P24M"
},
"targetDataStoreCopySettings": [],
"sourceDataStore": {
"dataStoreType": "ArchiveStore",
"objectType": "DataStoreInfoBase"
}
}
],
"isDefault": false,
"name": "Monthly",
"objectType": "AzureRetentionRule"
},
{
"lifecycles": [
{
"deleteAfter": {
"objectType": "AbsoluteDeleteOption",
"duration": "P3M"
},
"targetDataStoreCopySettings": [],
"sourceDataStore": {
"dataStoreType": "VaultStore",
"objectType": "DataStoreInfoBase"
}
}
],
"isDefault": true,
"name": "Default",
"objectType": "AzureRetentionRule"
}
],
"datasourceTypes": [
"Microsoft.DBforPostgreSQL/servers/databases"
],
"objectType": "BackupPolicy"
},
"id": "/subscriptions/ef4ab5a7-c2c0-4304-af80-af49f48af3d1/resourceGroups/DebRG1/providers/Microsoft.DataProtection/backupVaults/DebBackupVault/backupPolicies/OssPolicy1",
"name": "OssPolicy1",
"type": "Microsoft.DataProtection/backupVaults/backupPolicies"
}
Verwandte Inhalte
- Sichern Sie Azure-Datenträger mithilfe der REST-API des Datenschutzes.
- Rest-API für Azure Backup Data Protection.
- Azure REST-API-Referenz.
- Nachverfolgen von Sicherungs- und Wiederherstellungsaufträgen mithilfe der REST-API in Azure Backup.
- Verwalten Sie eine Azure-Datenbank für PostgreSQL-Server mithilfe des Azure-Portals.