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 SQL-Datenbank in Azure VM sichern und On-Demand-Sicherungen mit Azure CLI auslösen. Sie können diese Aktionen auch über das Azure-Portal ausführen.
In diesem Artikel wird davon ausgegangen, dass Sie bereits eine SQL-Datenbank auf einer Azure-VM installiert haben. (Sie können auch einen virtuellen Computer mit Azure CLI erstellen).
In diesem Artikel lernen Sie Folgendes:
- Erstellen eines Recovery Services-Tresors
- Registrieren Sie den SQL-Server und entdecken Sie Datenbank(en) darauf
- Aktivieren Sie die Sicherung auf einer SQL-Datenbank
- Auslösen einer bedarfsgesteuerten Sicherung
Sehen Sie sich die derzeit unterstützten Szenarien für SQL in Azure VM an.
Voraussetzungen
Verwenden Sie die Bash-Umgebung in Azure Cloud Shell. Weitere Informationen finden Sie unter "Erste Schritte mit Azure Cloud Shell".
Wenn Sie CLI-Referenzbefehle lieber lokal ausführen möchten, installieren Sie die Azure CLI. Wenn Sie Windows oder macOS ausführen, sollten Sie die Azure CLI in einem Docker-Container ausführen. Weitere Informationen finden Sie unter Ausführen der Azure CLI in einem Docker-Container.
Wenn Sie eine lokale Installation verwenden, melden Sie sich mit dem Az-Anmeldebefehl bei der Azure CLI an. Führen Sie die in Ihrem Terminal angezeigten Schritte aus, um den Authentifizierungsprozess abzuschließen. Weitere Anmeldeoptionen finden Sie unter Authentifizieren bei Azure mithilfe der Azure CLI.
Installieren Sie die Azure CLI-Erweiterung beim ersten Einsatz, wenn Sie dazu aufgefordert werden. Weitere Informationen zu Erweiterungen finden Sie unter Verwenden und Verwalten von Erweiterungen mit der Azure CLI.
Führen Sie az version aus, um die Version und die abhängigen Bibliotheken zu finden, die installiert sind. Um auf die neueste Version zu aktualisieren, führen Sie az-Upgrade aus.
Erstellen eines Recovery Services-Tresors
Ein Recovery Services-Tresor ist ein logischer Container, der die Sicherungsdaten für jede geschützte Ressource speichert, z. B. Azure-VMs oder Workloads, die auf Azure-VMs ausgeführt werden - z. B. SQL- oder HANA-Datenbanken. Wenn der Sicherungsauftrag für eine geschützte Ressource ausgeführt wird, wird im Recovery Services-Tresor ein Wiederherstellungspunkt erstellt. Sie können einen dieser Wiederherstellungspunkte dann verwenden, um Daten für einen bestimmten Zeitpunkt wiederherzustellen.
Erstellen Sie einen Recovery Services-Tresor mit dem Befehl "az backup vault create ". Verwenden Sie die Ressourcengruppe und den Standort der VM, die Sie schützen möchten. Erfahren Sie, wie Sie eine Windows-VM und eine Linux-VM mit Azure CLI erstellen.
Für diesen Artikel verwenden wir:
- Eine Ressourcengruppe mit dem Namen SQLResourceGroup
- Eine VM mit dem Namen "testSQLVM"
- Ressourcen am Westus2-Standort .
Führen Sie den folgenden Befehl aus, um einen Tresor namens SQLVault zu erstellen.
az backup vault create --resource-group SQLResourceGroup \
--name SQLVault \
--location westus2
Für den Recovery Services-Tresor ist standardmäßig die georedundante Speicherung festgelegt. Der georedundante Speicher stellt sicher, dass Ihre Backup-Daten in einer sekundären Azure-Region repliziert werden, auch wenn diese Hunderte von Meilen von der primären Region entfernt ist. Wenn die Einstellung für Speicherredundanz geändert werden muss, verwenden Sie den Befehl "az backup vault backup-properties set".
az backup vault backup-properties set \
--name SQLVault \
--resource-group SQLResourceGroup \
--backup-storage-redundancy "LocallyRedundant/GeoRedundant"
Um zu überprüfen, ob der Tresor erfolgreich erstellt wurde, verwenden Sie den Befehl az backup vault list . Die Antwort erscheint wie folgt:
Location Name ResourceGroup
--------- --------------- -------------
westus2 SQLVault SQLResourceGroup
Registrieren und schützen Sie den SQL Server
Um den SQL Server im Recovery Services-Tresor zu registrieren, verwenden Sie den Befehl az backup container register. VMResourceId ist die Ressourcen-ID der VM, die Sie zum Installieren von SQL erstellt haben.
az backup container register --resource-group SQLResourceGroup \
--vault-name SQLVault \
--workload-type SQLDataBase \
--backup-management-type AzureWorkload \
--resource-id VMResourceId
Hinweis
Wenn der virtuelle Computer nicht in derselben Ressourcengruppe wie der Tresor vorhanden ist, verwendet SQLResourceGroup die Ressourcengruppe, in der der Tresor erstellt wurde.
Durch die Registrierung des SQL-Servers werden automatisch alle seine aktuellen Datenbanken erkannt. Wenn Sie jedoch alle neuen Datenbanken ermitteln möchten, die in Zukunft hinzugefügt werden können, lesen Sie den Abschnitt " Entdecken neuer Datenbanken", die dem registrierten SQL Server-Abschnitt hinzugefügt wurden.
Verwenden Sie den Befehl az backup container list , um zu überprüfen, ob die SQL-Instanz erfolgreich bei Ihrem Tresor registriert wurde. Die Antwort erscheint wie folgt:
Name Friendly Name Resource Group Type Registration Status
------------------------------------------------------ -------------- -------------------- --------- ----------------------
VMAppContainer;Compute;SQLResourceGroup;testSQLVM testSQLVM SQLResourceGroup AzureWorkload Registered
Hinweis
Der Spaltenname in der obigen Ausgabe bezieht sich auf den Containernamen. Dieser Containername wird in den nächsten Abschnitten verwendet, um Sicherungen zu aktivieren und auszulösen. Beispiel: VMAppContainer; Berechnen; SQLResourceGroup; testSQLVM.
Die Sicherung in der SQL-Datenbank aktivieren
Der Befehl "az backup protectable-item list" listet alle Datenbanken auf, die in der SQL-Instanz ermittelt wurden, die Sie im vorherigen Schritt registriert haben.
az backup protectable-item list --resource-group SQLResourceGroup \
--vault-name SQLVault \
--workload-type SQLDataBase \
--backup-management-type AzureWorkload \
--protectable-item-type SQLDataBase
--output table
Sie sollten die Datenbank in dieser Liste finden, die Sie sichern möchten, die wie folgt angezeigt wird:
Name Protectable Item Type ParentName ServerName IsProtected
----------------------------- ---------------------- ------------ ----------- ------------
sqldatabase;mssqlserver;master SQLDataBase MSSQLServer testSQLVM NotProtected
sqldatabase;mssqlserver;model SQLDataBase MSSQLServer testSQLVM NotProtected
sqldatabase;mssqlserver;msdb SQLDataBase MSSQLServer testSQLVM NotProtected
Konfigurieren Sie jetzt die Sicherung für die sqldatabase; mssqlserver; Masterdatenbank .
Um Sicherungen in einer Datenbank einzeln zu konfigurieren und zu schützen, verwenden Sie den Befehl "az backup protection enable-for-azurewl ". Geben Sie den Namen der Richtlinie an, die Sie verwenden möchten. Um eine Richtlinie mit CLI zu erstellen, verwenden Sie den Befehl "az backup policy create ". Für diesen Artikel haben wir die testSQLPolicy-Richtlinie verwendet.
az backup protection enable-for-azurewl --resource-group SQLResourceGroup \
--vault-name SQLVault \
--policy-name SQLPolicy \
--protectable-item-name "sqldatabase;mssqlserver;master" \
--protectable-item-type SQLDataBase \
--server-name testSQLVM \
--workload-type SQLDataBase \
--output table
Sie können denselben Befehl verwenden, wenn Sie über eine SQL AlwaysOn-Verfügbarkeitsgruppe verfügen und die schützende Datenquelle innerhalb der Verfügbarkeitsgruppe identifizieren möchten. Hier ist der schutzbare Elementtyp SQLAG.
Um zu überprüfen, ob die oben genannte Sicherungskonfiguration abgeschlossen ist, verwenden Sie den Befehl "az backup job list" . Die Ausgabe erscheint wie folgt:
Name Operation Status Item Name Start Time UTC
------------------------------------ --------------- --------- ---------- -------------------
e0f15dae-7cac-4475-a833-f52c50e5b6c3 ConfigureBackup Completed master 2019-12-03T03:09:210831+00:00
Der Befehl " az backup job list " listet alle Sicherungsaufträge (geplante oder on-demand) auf, die ausgeführt oder derzeit in der geschützten Datenbank ausgeführt werden, sowie andere Vorgänge, z. B. Registrieren, Konfigurieren der Sicherung und Löschen von Sicherungsdaten.
Hinweis
Azure Backup passt sich nicht automatisch an Änderungen der Sommerzeit an, wenn eine SQL-Datenbank gesichert wird, die auf einer Azure-VM ausgeführt wird.
Ändern Sie die Richtlinie nach Bedarf manuell.
Aktivieren des automatischen Schutzes
Für eine nahtlose Backup-Konfiguration können alle zukünftig hinzugefügten Datenbanken automatisch mit einer bestimmten Richtlinie geschützt werden. Verwenden Sie den Befehl "az backup protection auto-enable-for-azurewl ", um den automatischen Schutz zu aktivieren.
Da die Anweisung darin besteht, alle zukünftigen Datenbanken zu sichern, erfolgt der Vorgang auf SQLInstance-Ebene .
az backup protection auto-enable-for-azurewl --resource-group SQLResourceGroup \
--vault-name SQLVault \
--policy-name SQLPolicy \
--protectable-item-name "sqlinstance;mssqlserver" \
--protectable-item-type SQLInstance \
--server-name testSQLVM \
--workload-type MSSQL\
--output table
Auslösen einer bedarfsgesteuerten Sicherung
Um eine On-Demand-Sicherung auszulösen, verwenden Sie den Befehl "az backup protection backup-now" .
Hinweis
Die Aufbewahrungsdauer dieser Sicherung wird durch die Art der von Ihnen ausgeführten On-Demand-Sicherung bestimmt.
- Vollständige On-Demand-Sicherungen werden mindestens45 Tage und höchstens 99 Jahre aufbewahrt.
- Die vollständige On-Demand-Kopie akzeptiert alle Werte zur Aufbewahrung.
- Das On-Demand-Differential bewahrt die Sicherung gemäß der in der Richtlinie festgelegten Aufbewahrung geplanter Differenziale auf.
- Das On-Demand-Protokoll bewahrt Sicherungen gemäß der in der Richtlinie festgelegten Aufbewahrung geplanter Protokolle auf.
az backup protection backup-now --resource-group SQLResourceGroup \
--item-name sqldatabase;mssqlserver;master \
--vault-name SQLVault \
--container-name VMAppContainer;Compute;SQLResourceGroup;testSQLVM \
--backup-type Full
--retain-until 01-01-2040
--output table
Die Ausgabe erscheint wie folgt:
Name ResourceGroup
------------------------------------ -------------
e0f15dae-7cac-4475-a833-f52c50e5b6c3 sqlResourceGroup
In der Antwort ist der Auftragsname enthalten. Sie können diesen Auftragsnamen verwenden, um den Auftragsstatus mithilfe des Befehls "az backup job show" nachzuverfolgen.
Nächste Schritte
- Erfahren Sie, wie Sie eine SQL-Datenbank in Azure VM mithilfe der CLI wiederherstellen.
- Erfahren Sie, wie Sie eine SQL-Datenbank sichern, die auf azure-VM mithilfe des Azure-Portals ausgeführt wird.
Verwandte Inhalte
- Sichern Sie SQL Server-Datenbanken in Azure-VMs mithilfe von Azure Backup über DIE REST-API.
- Wiederherstellen von SQL Server-Datenbanken in Azure-VMs mit REST-API.
- Verwalten von SQL Server-Datenbanken in Azure-VMs mit Azure-Portal, Azure CLI, REST-API.