Delen via


Een back-up maken van SQL-databases in Azure VM met behulp van Azure CLI

Azure CLI wordt gebruikt voor het maken en beheren van Azure-resources vanaf de opdrachtregel of door middel van scripts. In dit artikel wordt beschreven hoe u een back-up maakt van een SQL-database in Azure VM en back-ups op aanvraag activeert met behulp van Azure CLI. U kunt deze acties ook uitvoeren met behulp van Azure Portal.

In dit artikel wordt ervan uitgegaan dat u al een SQL-database hebt geïnstalleerd op een Azure-VM. (U kunt ook een virtuele machine maken met behulp van Azure CLI).

In dit artikel leert u het volgende:

  • Een Recovery Services-kluis maken
  • SQL-server registreren en er database(s) op detecteren
  • Back-up inschakelen voor een SQL-database
  • Een on-demand back-up activeren

Bekijk de momenteel ondersteunde scenario's voor SQL in Azure VM.

Vereisten

Een Recovery Services-kluis maken

Een Recovery Services-kluis is een logische container waarin de back-upgegevens voor elke beveiligde resource worden opgeslagen, zoals Virtuele Azure-machines of workloads die worden uitgevoerd op Azure-VM's, bijvoorbeeld SQL- of HANA-databases. Wanneer de back-uptaak voor een beveiligde resource wordt uitgevoerd, wordt er binnen de Recovery Services-kluis een herstelpunt gemaakt. U kunt vervolgens een van deze herstelpunten gebruiken om gegevens voor dat tijdstip te herstellen.

Maak een Recovery Services-kluis met de opdracht az backup vault create . Gebruik de resourcegroep en locatie als die van de VIRTUELE machine die u wilt beveiligen. Meer informatie over het maken van een Windows-VM en een Linux-VM met behulp van Azure CLI.

Voor dit artikel gebruiken we:

  • Een resourcegroep met de naam SQLResourceGroup
  • Een VM met de naam testSQLVM
  • Resources op de locatie westus2 .

Voer de volgende opdracht uit om een kluis met de naam SQLVault te maken.

az backup vault create --resource-group SQLResourceGroup \
    --name SQLVault \
    --location westus2

De Recovery Services-kluis is standaard ingesteld voor geografisch redundante opslag. Geografisch redundante opslag zorgt ervoor dat uw back-upgegevens worden gerepliceerd naar een secundaire Azure-regio, zelfs als dat honderden kilometers verwijderd is van de primaire regio. Als de instelling voor opslagredundantie moet worden gewijzigd, gebruikt u de opdracht az backup vault backup-properties set .

az backup vault backup-properties set \
    --name SQLVault  \
    --resource-group SQLResourceGroup \
    --backup-storage-redundancy "LocallyRedundant/GeoRedundant"

Gebruik de opdracht az backup vault list om te controleren of de kluis is gemaakt. Het antwoord wordt weergegeven als:

Location   Name             ResourceGroup
---------  ---------------  -------------  
westus2    SQLVault     	SQLResourceGroup

De SQL Server registreren en beveiligen

Als u de SQL Server wilt registreren bij de Recovery Services-kluis, gebruikt u de opdracht az backup container register . VMResourceId is de resource-id van de VM die u hebt gemaakt om SQL te installeren.

az backup container register --resource-group SQLResourceGroup \
    --vault-name SQLVault \
    --workload-type SQLDataBase \
    --backup-management-type AzureWorkload \
    --resource-id VMResourceId

Notitie

Als de VIRTUELE machine niet aanwezig is in dezelfde resourcegroep als de kluis, gebruikt SQLResourceGroup de resourcegroep waar de kluis is gemaakt.

Als u de SQL-server registreert, worden automatisch alle huidige databases gedetecteerd. Als u echter nieuwe databases wilt detecteren die in de toekomst kunnen worden toegevoegd, raadpleegt u de sectie Nieuwe databases detecteren die zijn toegevoegd aan de geregistreerde SQL-server .

Gebruik de opdracht az backup container list om te controleren of het SQL-exemplaar is geregistreerd bij uw kluis. Het antwoord wordt weergegeven als:

Name                                                    Friendly Name    Resource Group        Type           Registration Status
------------------------------------------------------  --------------   --------------------  ---------      ----------------------
VMAppContainer;Compute;SQLResourceGroup;testSQLVM   	testSQLVM        SQLResourceGroup  		AzureWorkload  Registered

Notitie

De kolomnaam in de bovenstaande uitvoer verwijst naar de containernaam. Deze containernaam wordt gebruikt in de volgende secties om back-ups in te schakelen en deze te activeren. Bijvoorbeeld VMAppContainer; Berekenen; SQLResourceGroup; testSQLVM.

Back-up inschakelen in de SQL-database

Met de opdracht az backup protectable-item list worden alle databases weergegeven die zijn gedetecteerd in het SQL-exemplaar dat u in de vorige stap hebt geregistreerd.

az backup protectable-item list --resource-group SQLResourceGroup \
    --vault-name SQLVault \
    --workload-type SQLDataBase \
	--backup-management-type AzureWorkload \
	--protectable-item-type SQLDataBase
    --output table

U vindt de database in deze lijst waarvan u een back-up wilt maken. Deze wordt weergegeven als:

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  

Configureer nu een back-up voor de sqldatabase; mssqlserver; hoofddatabase .

Als u back-ups voor een database wilt configureren en beveiligen, gebruikt u de opdracht az backup protection enable-for-azurewl . Geef de naam op van het beleid dat u wilt gebruiken. Als u een beleid wilt maken met cli, gebruikt u de opdracht az backup policy create . Voor dit artikel hebben we het testSQLPolicy-beleid gebruikt.

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

U kunt dezelfde opdracht gebruiken als u een SQL AlwaysOn-beschikbaarheidsgroep hebt en de beveiligbare gegevensbron binnen de beschikbaarheidsgroep wilt identificeren. Hier is het beveiligbare itemtype SQLAG.

Gebruik de opdracht az backup job list om te controleren of de bovenstaande back-upconfiguratie is voltooid. De uitvoer wordt weergegeven als:

Name                                  Operation         Status     Item Name   Start Time UTC
------------------------------------  ---------------   ---------  ----------  -------------------  
e0f15dae-7cac-4475-a833-f52c50e5b6c3  ConfigureBackup   Completed  master         2019-12-03T03:09:210831+00:00  

De opdracht az backup job list bevat alle back-uptaken (gepland of on-demand) die zijn uitgevoerd of die momenteel worden uitgevoerd op de beveiligde database, naast andere bewerkingen, zoals registreren, back-up configureren en back-upgegevens verwijderen.

Notitie

Azure Backup wordt niet automatisch aangepast voor zomertijdwijzigingen bij het maken van een back-up van een SQL-database die wordt uitgevoerd op een Azure-VM.

Pas het beleid waar nodig handmatig aan.

Automatische beveiliging inschakelen

Voor een naadloze back-upconfiguratie kunnen alle databases die in de toekomst worden toegevoegd, automatisch worden beveiligd met een bepaald beleid. Als u automatische beveiliging wilt inschakelen, gebruikt u de opdracht az backup protection auto-enable-for-azurewl .

Aangezien de instructie is om een back-up te maken van alle toekomstige databases, wordt de bewerking uitgevoerd op SQLInstance-niveau.

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

Een on-demand back-up activeren

Als u een back-up op aanvraag wilt activeren, gebruikt u de opdracht az backup protection backup-now .

Notitie

De bewaarperiode van deze back-up wordt bepaald door het type back-up op aanvraag dat u hebt uitgevoerd.

  • Op aanvraag worden back-ups gedurende minimaal 45 dagen en maximaal 99 jaar bewaard.
  • Kopiëren op aanvraag accepteert alleen volledige waarde voor retentie.
  • Differentiële on-demand behoudt back-ups volgens de retentie van geplande differentiëlen die zijn ingesteld in beleid.
  • Logboeken op aanvraag bewaren back-ups volgens de retentie van geplande logboeken die zijn ingesteld in beleid.
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

De uitvoer wordt weergegeven als:

Name                                  ResourceGroup
------------------------------------  -------------
e0f15dae-7cac-4475-a833-f52c50e5b6c3  sqlResourceGroup

Het antwoord geeft u de taaknaam. U kunt deze taaknaam gebruiken om de taakstatus bij te houden met behulp van de opdracht az backup job show .

Volgende stappen