Dela via


Säkerhetskopiera SQL-databaser i virtuella Azure-datorer med Hjälp av Azure CLI

Azure CLI används för att skapa och hantera Azure-resurser från kommandoraden eller via skript. Den här artikeln beskriver hur du säkerhetskopierar en SQL-databas på en virtuell Azure-dator och utlöser säkerhetskopieringar på begäran med Hjälp av Azure CLI. Du kan också utföra dessa åtgärder med hjälp av Azure Portal.

Den här artikeln förutsätter att du redan har en SQL-databas installerad på en virtuell Azure-dator. (Du kan också skapa en virtuell dator med Hjälp av Azure CLI).

I den här artikeln får du lära dig att:

  • Skapa ett Recovery Services-valv
  • Registrera SQL Server och identifiera databaser på den
  • Aktivera säkerhetskopiering på en SQL-databas
  • Utlösa en säkerhetskopiering på begäran

Se de scenarier som stöds för SQL på en virtuell Azure-dator.

Förutsättningar

Skapa ett Recovery Services-valv

Ett Recovery Services-valv är en logisk container som lagrar säkerhetskopieringsdata för varje skyddad resurs, till exempel virtuella Azure-datorer eller arbetsbelastningar som körs på virtuella Azure-datorer, till exempel SQL- eller HANA-databaser. När säkerhetskopieringsjobbet för en skyddad resurs körs, skapas en återställningspunkt i Recovery Services-valvet. Du kan sedan använda någon av dessa återställningspunkter för att återställa data till en given tidpunkt.

Skapa ett Recovery Services-valv med kommandot az backup vault create . Använd resursgruppen och platsen som för den virtuella dator som du vill skydda. Lär dig hur du skapar en virtuell Windows-dator och en virtuell Linux-dator med Hjälp av Azure CLI.

I den här artikeln använder vi:

  • En resursgrupp med namnet SQLResourceGroup
  • En virtuell dator med namnet testSQLVM
  • Resurser på platsen westus2 .

Kör följande kommando för att skapa ett valv med namnet SQLVault.

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

Recovery Services-valvet är som standard inställt på geo-redundant lagring. Geo-redundant lagring säkerställer att dina säkerhetskopierade data replikeras till en sekundär Azure-region även om det är hundratals mil från den primära regionen. Om inställningen för lagringsredundans behöver ändras använder du kommandot az backup vault backup-properties set .

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

Om du vill kontrollera om valvet har skapats använder du kommandot az backup vault list . Svaret visas som:

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

Registrera och skydda SQL Server

Om du vill registrera SQL Server med Recovery Services-valvet använder du kommandot az backup container register . VMResourceId är resurs-ID för den virtuella dator som du skapade för att installera SQL.

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

Kommentar

Om den virtuella datorn inte finns i samma resursgrupp som valvet använder SQLResourceGroup resursgruppen där valvet skapades.

Registrering av SQL-servern identifierar automatiskt alla dess aktuella databaser. Men om du vill identifiera nya databaser som kan läggas till i framtiden kan du läsa avsnittet Identifiera nya databaser som har lagts till i den registrerade SQL-servern .

Använd kommandot az backup container list för att kontrollera om SQL-instansen har registrerats med valvet. Svaret visas som:

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

Kommentar

Kolumnnamnet i ovanstående utdata refererar till containernamnet. Det här containernamnet används i nästa avsnitt för att aktivera säkerhetskopior och utlösa dem. Till exempel VMAppContainer; Beräkna; SQLResourceGroup; testSQLVM.

Aktivera säkerhetskopiering i SQL-databasen

Kommandot az backup protectable-item list list (az backup protectable-item list ) visar alla databaser som identifierades på SQL-instansen som du registrerade i föregående steg.

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

Du bör hitta databasen i den här listan som du vill säkerhetskopiera, som visas som:

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  

Konfigurera nu säkerhetskopiering för sqldatabase. mssqlserver; huvuddatabas .

Om du vill konfigurera och skydda säkerhetskopior på en databas använder du kommandot az backup protection enable-for-azurewl . Ange namnet på den princip som du vill använda. Om du vill skapa en princip med CLI använder du kommandot az backup policy create . I den här artikeln har vi använt principen testSQLPolicy .

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

Du kan använda samma kommando om du har en SQL AlwaysOn-tillgänglighetsgrupp och vill identifiera den skyddade datakällan i tillgänglighetsgruppen. Här är den skyddsbara objekttypen SQLAG.

Kontrollera om säkerhetskopieringskonfigurationen ovan är klar med kommandot az backup job list . Utdata visas som:

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

Kommandot az backup job list list all backup jobs (scheduled or on-demand) that have run or are currently running on the protected database, as addition to other operations, such as register, configure backup, and delete backup data.

Kommentar

Azure Backup justeras inte automatiskt för ändringar av sommartid när du säkerhetskopierar en SQL-databas som körs på en virtuell Azure-dator.

Ändra principen manuellt efter behov.

Aktivera automatiskt skydd

För sömlös säkerhetskopieringskonfiguration kan alla databaser som läggs till i framtiden automatiskt skyddas med en viss princip. Om du vill aktivera automatiskt skydd använder du kommandot az backup protection auto-enable-for-azurewl .

Eftersom instruktionen är att säkerhetskopiera alla framtida databaser utförs åtgärden på SQLInstance-nivå.

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

Utlösa en säkerhetskopiering på begäran

Om du vill utlösa en säkerhetskopiering på begäran använder du kommandot az backup protection backup-now .

Kommentar

Kvarhållningsperioden för den här säkerhetskopian bestäms av vilken typ av säkerhetskopiering på begäran du har kört.

  • Full på begäran behåller säkerhetskopior i minst 45 dagar och högst 99 år.
  • Vid kopiering på begäran godkänns endast alla värden för kvarhållning.
  • Differentiella skillnader på begäran behåller säkerhetskopieringen enligt kvarhållningen av schemalagda differentier som anges i principen.
  • Loggen på begäran behåller säkerhetskopior enligt kvarhållningen av schemalagda loggar som angetts i principen.
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

Utdata visas som:

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

Svaret ger dig jobbnamnet. Du kan använda det här jobbnamnet för att spåra jobbstatusen med kommandot az backup job show .

Nästa steg