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.
Die Azure CLI dient zum Erstellen und Verwalten von Azure-Ressourcen über die Befehlszeile oder mit Skripts. In diesem Artikel wird beschrieben, wie Sie eine gesicherte SQL-Datenbank auf azure VM mit Azure CLI verwalten. Sie können diese Aktionen auch über das Azure-Portal ausführen.
Hinweis
Falls Sie die Anleitung unter Sichern einer SQL-Datenbank in Azure mit der CLI verwendet haben, um Ihre SQL-Datenbank zu sichern, nutzen Sie die folgenden Ressourcen:
- Eine Ressourcengruppe mit dem Namen SQLResourceGroup
- Ein Tresor mit dem Namen SQLVault
- Geschützter Container mit dem Namen "VMAppContainer"; Berechnen; SQLResourceGroup; testSQLVM
- Gesicherte Datenbank/Element mit dem Namen sqldatabase;mssqlserver;master
- Ressourcen in der Region Westus2
Azure CLI erleichtert das Verwalten einer SQL-Datenbank, die auf einer Azure-VM ausgeführt wird, die mithilfe von Azure Backup gesichert wird. In den folgenden Abschnitten werden die einzelnen Verwaltungsvorgänge beschrieben.
Erfahren Sie mehr über die unterstützten Konfigurationen und Szenarien für die SQL-Sicherung.
Überwachen von Sicherungs- und Wiederherstellungsaufträgen
Verwenden Sie den Befehl "az backup job list" zum Überwachen abgeschlossener oder aktuell ausgeführter Aufträge (Sicherung oder Wiederherstellung). CLI ermöglicht auch einen aktuell ausgeführten Auftrag zu unterbrechen oder zu warten, bis ein Auftrag abgeschlossen ist.
az backup job list --resource-group SQLResourceGroup \
--vault-name SQLVault \
--output table
Die Ausgabe erscheint wie folgt:
Name Operation Status Item Name Start Time UTC
------------------------------------ --------------- --------- ---------- -------------------
e0f15dae-7cac-4475-a833-f52c50e5b6c3 ConfigureBackup Completed master [testSQLVM] 2019-12-03T03:09:210831+00:00
ccdb4dce-8b15-47c5-8c46-b0985352238f Backup (Full) Completed master [testSQLVM] 2019-12-01T10:30:58.867489+00:00
4980af91-1090-49a6-ab96-13bc905a5282 Backup (Differential) Completed master [testSQLVM] 2019-12-01T10:36:00.563909+00:00
F7c68818-039f-4a0f-8d73-e0747e68a813 Restore (Log) Completed master [testSQLVM] 2019-12-03T05:44:51.081607+00:00
Ändern einer Richtlinie
Verwenden Sie den Befehl "az backup policy set ", um die Richtlinie zu ändern, die der SQL-Sicherungskonfiguration zugrunde liegt. Der Name-Parameter in diesem Befehl bezieht sich auf das Sicherungselement, dessen Richtlinie Sie ändern möchten. Ersetzen Sie die Richtlinie der SQL-Datenbank sqldatabase;mssqlserver;master durch die neue Richtlinie newSQLPolicy. Sie können neue Richtlinien mithilfe des Befehls "az backup policy create " erstellen.
az backup item set-policy --resource-group SQLResourceGroup \
--vault-name SQLVault \
--container-name VMAppContainer;Compute;SQLResourceGroup;testSQLVM \
--policy-name newSQLPolicy \
--name sqldatabase;mssqlserver;master \
Die Ausgabe erscheint wie folgt:
Name Operation Status Item Name Backup Management Type Start Time UTC Duration
------------------------------------ --------------- --------- ----------- ------------------------ -------------------------------- --------------
ba350996-99ea-46b1-aae2-e2096c1e28cd ConfigureBackup Completed master AzureWorkload 2022-06-22T08:24:03.958001+00:00 0:01:12.435765
Erstellen einer differenziellen Sicherungsrichtlinie
Verwenden Sie zum Erstellen einer differenziellen Sicherungsrichtlinie den Befehl "az backup policy create " mit den folgenden Parametern:
- --backup-management-type: Azure-Workload.
- --workload-type: SQL DataBase.
- --name: Name der Richtlinie.
- --policy: JSON-Datei mit den entsprechenden Details für Zeitplan und Aufbewahrung.
- --resource-group: Ressourcengruppe des Tresors.
- --vault-name: Name des Tresors/
Beispiel:
az backup policy create --resource-group SQLResourceGroup --vault-name SQLVault --name SQLPolicy --backup-management-type AzureWorkload --policy SQLPolicy.json --workload-type SQLDataBase
Beispiel-JSON (sqlpolicy.json):
"eTag": null,
"id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SQLResourceGroup/providers/Microsoft.RecoveryServices/vaults/SQLVault/backupPolicies/SQLPolicy",
"location": null,
"name": "sqlpolicy",
"properties": {
"backupManagementType": "AzureWorkload",
"workLoadType": "SQLDataBase",
"settings": {
"timeZone": "UTC",
"issqlcompression": false,
"isCompression": false
},
"subProtectionPolicy": [
{
"policyType": "Full",
"schedulePolicy": {
"schedulePolicyType": "SimpleSchedulePolicy",
"scheduleRunFrequency": "Weekly",
"scheduleRunDays": [
"Sunday"
],
"scheduleRunTimes": [
"2022-06-13T19:30:00Z"
],
"scheduleWeeklyFrequency": 0
},
"retentionPolicy": {
"retentionPolicyType": "LongTermRetentionPolicy",
"weeklySchedule": {
"daysOfTheWeek": [
"Sunday"
],
"retentionTimes": [
"2022-06-13T19:30:00Z"
],
"retentionDuration": {
"count": 104,
"durationType": "Weeks"
}
},
"monthlySchedule": {
"retentionScheduleFormatType": "Weekly",
"retentionScheduleWeekly": {
"daysOfTheWeek": [
"Sunday"
],
"weeksOfTheMonth": [
"First"
]
},
"retentionTimes": [
"2022-06-13T19:30:00Z"
],
"retentionDuration": {
"count": 60,
"durationType": "Months"
}
},
"yearlySchedule": {
"retentionScheduleFormatType": "Weekly",
"monthsOfYear": [
"January"
],
"retentionScheduleWeekly": {
"daysOfTheWeek": [
"Sunday"
],
"weeksOfTheMonth": [
"First"
]
},
"retentionTimes": [
"2022-06-13T19:30:00Z"
],
"retentionDuration": {
"count": 10,
"durationType": "Years"
}
}
}
},
{
"policyType": "Differential",
"schedulePolicy": {
"schedulePolicyType": "SimpleSchedulePolicy",
"scheduleRunFrequency": "Weekly",
"scheduleRunDays": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
],
"scheduleRunTimes": [
"2022-06-13T02:00:00Z"
],
"scheduleWeeklyFrequency": 0
},
"retentionPolicy": {
"retentionPolicyType": "SimpleRetentionPolicy",
"retentionDuration": {
"count": 30,
"durationType": "Days"
}
}
},
{
"policyType": "Log",
"schedulePolicy": {
"schedulePolicyType": "LogSchedulePolicy",
"scheduleFrequencyInMins": 120
},
"retentionPolicy": {
"retentionPolicyType": "SimpleRetentionPolicy",
"retentionDuration": {
"count": 15,
"durationType": "Days"
}
}
}
],
"protectedItemsCount": 0
},
"resourceGroup": "SQLResourceGroup",
"tags": null,
"type": "Microsoft.RecoveryServices/vaults/backupPolicies"
}
Nachdem die Richtlinie erfolgreich erstellt wurde, zeigt die Ausgabe des Befehls den Richtlinien-JSON-Code an, den Sie beim Ausführen des Befehls als Parameter übergeben haben.
Sie können den folgenden Abschnitt der Richtlinie ändern, um die erforderliche Sicherungshäufigkeit und Aufbewahrung für differenzielle Sicherungen anzugeben.
Beispiel:
{
"policyType": "Differential",
"retentionPolicy": {
"retentionDuration": {
"count": 30,
"durationType": "Days"
},
"retentionPolicyType": "SimpleRetentionPolicy"
},
"schedulePolicy": {
"schedulePolicyType": "SimpleSchedulePolicy",
"scheduleRunDays": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
],
"scheduleRunFrequency": "Weekly",
"scheduleRunTimes": [
"2017-03-07T02:00:00+00:00"
],
"scheduleWeeklyFrequency": 0
}
}
Beispiel:
Wenn Sie differenzielle Sicherungen nur am Samstag haben und sie 60 Tage lang aufbewahren möchten, führen Sie die folgenden Änderungen in der Richtlinie aus:
- Aktualisieren Sie den retentionDuration-Wert auf 60 Tage.
- Geben Sie nur Samstag als ScheduleRunDays an.
{
"policyType": "Differential",
"retentionPolicy": {
"retentionDuration": {
"count": 60,
"durationType": "Days"
},
"retentionPolicyType": "SimpleRetentionPolicy"
},
"schedulePolicy": {
"schedulePolicyType": "SimpleSchedulePolicy",
"scheduleRunDays": [
"Saturday"
],
"scheduleRunFrequency": "Weekly",
"scheduleRunTimes": [
"2017-03-07T02:00:00+00:00"
],
"scheduleWeeklyFrequency": 0
}
}
Schützen der neuen Datenbanken, die einer SQL-Instanz hinzugefügt wurden
Durch das Registrieren einer SQL-Instanz mit einem Recovery Services-Tresor werden automatisch alle Datenbanken in dieser Instanz ermittelt.
Wenn Sie der SQL-Instanz jedoch später neue Datenbanken hinzugefügt haben, verwenden Sie den Befehl az backup protectable-item initialize . Mit diesem Befehl werden die neuen Datenbanken ermittelt, die hinzugefügt wurden.
az backup protectable-item initialize --resource-group SQLResourceGroup \
--vault-name SQLVault \
--container-name VMAppContainer;Compute;SQLResourceGroup;testSQLVM \
--workload-type SQLDataBase
Verwenden Sie dann das az backup protectable-item list cmdlet, um alle Datenbanken aufzulisten, die in Ihrer SQL-Instanz ermittelt wurden. Diese Liste schließt jedoch die Datenbanken aus, auf denen die Sicherung bereits konfiguriert wurde. Nachdem die zu sichernde Datenbank ermittelt wurde, helfen Ihnen die Informationen unter Aktivieren der Sicherung für eine SQL-Datenbank weiter.
az backup protectable-item list --resource-group SQLResourceGroup \
--vault-name SQLVault \
--workload-type SQLDataBase \
--protectable-item-type SQLDataBase \
--output table
Die neue Datenbank, die Sie sichern möchten, wird in dieser Liste angezeigt, die wie folgt angezeigt wird:
Name Protectable Item Type ParentName ServerName IsProtected
--------------------------- ---------------------- ------------ ----------- ------------
sqldatabase;mssqlserver;db1 SQLDataBase mssqlserver testSQLVM NotProtected
sqldatabase;mssqlserver;db2 SQLDataBase mssqlserver testSQLVM NotProtected
Beenden des Schutzes für eine SQL-Datenbank
Sie können den Schutz einer SQL-Datenbank in den folgenden Prozessen beenden:
- Beenden aller zukünftigen Sicherungsaufträge und Löschen aller Wiederherstellungspunkte
- Beenden aller zukünftigen Sicherungsaufträge und Beibehalten der Wiederherstellungspunkte.
Wenn Sie die Wiederherstellungspunkte verlassen möchten, beachten Sie die folgenden Details:
- Alle Wiederherstellungspunkte werden unbegrenzt beibehalten, und die gesamte Bereinigung endet mit der Beendigung des Schutzes unter Beibehaltung der Daten.
- Ihnen werden die geschützte Instanz und der verbrauchte Speicher in Rechnung gestellt.
- Wenn Sie eine Datenquelle löschen, ohne die Sicherungen zu beenden, treten bei neuen Sicherungen Fehler auf.
Die Prozesse zum Beenden des Schutzes sind unten aufgeführt.
Beendigung des Schutzes mit Beibehaltung der Daten
Verwenden Sie den Befehl "az backup protection disable", um den Schutz mit der Aufbewahrung von Daten zu beenden.
az backup protection disable --resource-group SQLResourceGroup \
--vault-name SQLVault \
--container-name VMAppContainer;Compute;SQLResourceGroup;testSQLVM \
--item-name sqldatabase;mssqlserver;master \
--workload-type SQLDataBase \
--output table
Die Ausgabe erscheint wie folgt:
Name ResourceGroup
------------------------------------ ---------------
g0f15dae-7cac-4475-d833-f52c50e5b6c3 SQLResourceGroup
Um den Status dieses Vorgangs zu überprüfen, verwenden Sie den Befehl "az backup job show ".
Schutz beenden, ohne Daten aufzubewahren
Verwenden Sie den Befehl "az backup protection disable ", um den Schutz ohne Aufbewahrung von Daten zu beenden.
az backup protection disable --resource-group SQLResourceGroup \
--vault-name SQLVault \
--container-name VMAppContainer;Compute;SQLResourceGroup;testSQLVM \
--item-name sqldatabase;mssqlserver;master \
--workload-type SQLDataBase \
--delete-backup-data true \
--output table
Die Ausgabe erscheint wie folgt:
Name ResourceGroup
------------------------------------ ---------------
g0f15dae-7cac-4475-d833-f52c50e5b6c3 SQLResourceGroup
Um den Status dieses Vorgangs zu überprüfen, verwenden Sie den Befehl "az backup job show ".
Schutz fortsetzen
Wenn Sie den Schutz für die SQL-Datenbank mit Aufbewahrungsdaten beenden, können Sie den Schutz später fortsetzen. Wenn Sie die gesicherten Daten nicht aufbewahren, können Sie den Schutz nicht fortsetzen.
Um den Schutz fortzusetzen, verwenden Sie den Befehl "az backup protection resume" .
az backup protection resume --resource-group SQLResourceGroup \
--vault-name SQLVault \
--container-name VMAppContainer;Compute;SQLResourceGroup;testSQLVM \
--policy-name SQLPolicy \
--output table
Die Ausgabe erscheint wie folgt:
Name ResourceGroup
------------------------------------ ---------------
b2a7f108-1020-4529-870f-6c4c43e2bb9e SQLResourceGroup
Um den Status dieses Vorgangs zu überprüfen, verwenden Sie den Befehl "az backup job show ".
Nächste Schritte
- Erfahren Sie, wie Sie eine SQL-Datenbank sichern, die auf azure-VM mithilfe des Azure-Portals ausgeführt wird.
- Erfahren Sie, wie Sie eine gesicherte SQL-Datenbank verwalten, die auf azure-VM mithilfe des Azure-Portals ausgeführt wird.