Automatisk säkerhetskopiering v2 för virtuella Azure-datorer (Resource Manager)
GÄLLER FÖR:
SQL Server på virtuella Azure-datorer
Automatisk säkerhetskopiering v2 konfigurerar automatiskt hanterad säkerhetskopiering till Microsoft Azure för alla befintliga och nya databaser på en virtuell Azure-dator som kör versionerna SQL Server 2016 eller senare Standard, Enterprise eller Developer. På så sätt kan du konfigurera vanliga säkerhetskopieringar av databaser som använder beständig Azure Blob Storage. Automatisk säkerhetskopiering v2 är beroende SQL Server IaaS-agenttillägget (infrastruktursom en tjänst).
Förutsättningar
Om du vill använda automatisk säkerhetskopiering v2 granskar du följande krav:
Operativsystem:
- Windows Server 2012 R2 eller senare
SQL Server version/utgåva:
- SQL Server 2016 eller senare: Developer, Standard eller Enterprise
Anteckning
För SQL Server 2014, se Automatisk säkerhetskopiering för SQL Server 2014.
Databaskonfiguration:
- Målanvändardatabaser måste använda den fullständiga återställningsmodellen. Systemdatabaser behöver inte använda den fullständiga återställningsmodellen. Men om du kräver att loggsäkerhetskopior tas för modell eller MSDB måste du använda den fullständiga återställningsmodellen. Mer information om hur den fullständiga återställningsmodellen påverkar säkerhetskopieringar finns i Säkerhetskopiering under den fullständiga återställningsmodellen.
- Den SQL Server virtuella datorn har registrerats med SQL IaaS Agent-tillägget i fullständigt hanteringsläge.
- Automatisk säkerhetskopiering förlitar sig på den fullständiga SQL Server IaaS-agenttillägget. Därför stöds automatisk säkerhetskopiering endast på måldatabaser från standardinstansen eller en enda namngiven instans. Om det inte finns någon standardinstans och flera namngivna instanser misslyckas SQL IaaS-tillägget och automatisk säkerhetskopiering fungerar inte.
Inställningar
I följande tabell beskrivs de alternativ som kan konfigureras för automatisk säkerhetskopiering v2. De faktiska konfigurationsstegen varierar beroende på om du använder Azure Portal eller Azure Windows PowerShell kommandon.
Grundläggande inställningar
| Inställning | Intervall (standard) | Description |
|---|---|---|
| Automatisk säkerhetskopiering | Aktivera/inaktivera (inaktiverad) | Aktiverar eller inaktiverar automatisk säkerhetskopiering för en virtuell Azure-dator som kör SQL Server 2016/2017 Developer, Standard eller Enterprise. |
| Kvarhållningsperiod | 1–30 dagar (30 dagar) | Antalet dagar som säkerhetskopiorna ska behållas. |
| Lagringskonto | Azure Storage-konto | Ett Azure-lagringskonto som ska användas för att lagra filer för automatisk säkerhetskopiering i Blob Storage. En container skapas på den här platsen för att lagra alla säkerhetskopierade filer. Namngivningskonventionen för säkerhetskopior innehåller datum, tid och databas-GUID. |
| Kryptering | Aktivera/inaktivera (inaktiverad) | Aktiverar eller inaktiverar kryptering. När kryptering har aktiverats finns de certifikat som används för att återställa säkerhetskopian i det angivna lagringskontot. Den använder samma container för automatisk säkerhetskopiering med samma namngivningskonvention. Om lösenordet ändras genereras ett nytt certifikat med det lösenordet, men det gamla certifikatet finns kvar för att återställa tidigare säkerhetskopior. |
| Lösenord | Lösenordstext | Ett lösenord för krypteringsnycklar. Det här lösenordet krävs bara om kryptering är aktiverat. För att kunna återställa en krypterad säkerhetskopia måste du ha rätt lösenord och relaterat certifikat som användes när säkerhetskopieringen gjordes. |
Avancerade inställningar
| Inställning | Intervall (standard) | Description |
|---|---|---|
| Säkerhetskopior av systemdatabaser | Aktivera/inaktivera (inaktiverad) | När den här funktionen är aktiverad backar den även upp systemdatabaserna: Master, MSDB och Model. För DATABASERNA MSDB och Modell kontrollerar du att de är i fullständigt återställningsläge om du vill att loggsäkerhetskopior ska göras. Loggsäkerhetskopior tas aldrig för master. Och inga säkerhetskopior tas för TempDB. |
| Schema för säkerhetskopiering | Manuell/automatiserad (automatiserad) | Som standard bestäms säkerhetskopieringsschemat automatiskt baserat på loggtillväxten. Med schemat för manuell säkerhetskopiering kan användaren ange tidsfönstret för säkerhetskopieringar. I det här fallet sker säkerhetskopieringar endast med den angivna frekvensen och under den angivna tidsperioden för en viss dag. |
| Fullständig säkerhetskopieringsfrekvens | Varje dag/varje vecka | Frekvens för fullständiga säkerhetskopieringar. I båda fallen börjar fullständiga säkerhetskopieringar under nästa schemalagda tidsperiod. När varje vecka väljs kan säkerhetskopieringar sträcka sig över flera dagar tills alla databaser har säkerhetskopierats. |
| Starttid för fullständig säkerhetskopiering | 00:00 – 23:00 (01:00) | Starttiden för en viss dag då fullständiga säkerhetskopieringar kan ske. |
| Tidsfönster för fullständig säkerhetskopiering | 1–23 timmar (1 timme) | Tidsperioden för en viss dag då fullständiga säkerhetskopieringar kan ske. |
| Säkerhetskopieringsfrekvens för logg | 5–60 minuter (60 minuter) | Frekvensen för loggsäkerhetskopior. |
Förstå fullständig säkerhetskopieringsfrekvens
Det är viktigt att förstå skillnaden mellan dagliga och veckovisa fullständiga säkerhetskopieringar. Överväg följande två exempelscenarier.
Scenario 1: Veckovisa säkerhetskopieringar
Du har en SQL Server virtuell dator som innehåller ett antal stora databaser.
På måndag aktiverar du automatisk säkerhetskopiering v2 med följande inställningar:
- Schema för säkerhetskopiering: Manuell
- Fullständig säkerhetskopieringsfrekvens: Varje vecka
- Starttid för fullständig säkerhetskopiering: 01:00
- Tidsfönster för fullständig säkerhetskopiering: 1 timme
Det innebär att nästa tillgängliga säkerhetskopieringsfönster är tisdag kl. 01:00 i 1 timme. Då börjar automatisk säkerhetskopiering säkerhetskopiera dina databaser en i taget. I det här scenariot är dina databaser tillräckligt stora för att fullständiga säkerhetskopieringar ska slutföras för de första databaserna. Efter en timme har dock inte alla databaser säkerhetskopierats.
När detta inträffar börjar automatisk säkerhetskopiering säkerhetskopiera de återstående databaserna nästa dag, onsdag kl. 01:00 i en timme. Om inte alla databaser har säkerhetskopierats under den tiden försöker den igen nästa dag samtidigt. Detta fortsätter tills alla databaser har säkerhetskopierats.
När den når tisdagen igen börjar automatisk säkerhetskopiering säkerhetskopiera alla databaser igen.
Det här scenariot visar att automatisk säkerhetskopiering endast fungerar inom den angivna tidsperioden och att varje databas säkerhetskopieras en gång i veckan. Detta visar också att det är möjligt för säkerhetskopior att sträcka sig över flera dagar om det inte går att slutföra alla säkerhetskopior på en enda dag.
Scenario 2: Dagliga säkerhetskopieringar
Du har en SQL Server virtuell dator som innehåller ett antal stora databaser.
På måndag aktiverar du automatisk säkerhetskopiering v2 med följande inställningar:
- Schema för säkerhetskopiering: Manuell
- Fullständig säkerhetskopieringsfrekvens: Varje dag
- Starttid för fullständig säkerhetskopiering: 22:00
- Tidsfönster för fullständig säkerhetskopiering: 6 timmar
Det innebär att nästa tillgängliga säkerhetskopieringsfönster är Måndag 22:00 i 6 timmar. Då börjar automatisk säkerhetskopiering säkerhetskopiera dina databaser en i taget.
På tisdag kl. 10 i 6 timmar startar sedan fullständiga säkerhetskopior av alla databaser igen.
Viktigt
Säkerhetskopieringar sker sekventiellt under varje intervall. För instanser med ett stort antal databaser schemalägger du säkerhetskopieringsintervallet med tillräckligt med tid för att hantera alla säkerhetskopior. Om säkerhetskopieringar inte kan slutföras inom det angivna intervallet kan vissa säkerhetskopior hoppas över och tiden mellan säkerhetskopieringar för en enkel databas kan vara högre än den konfigurerade säkerhetskopieringsintervalltiden, vilket kan påverka målet för återställningspunkten negativt.
Konfigurera nya virtuella datorer
Använd Azure Portal konfigurera automatisk säkerhetskopiering v2 när du skapar en ny virtuell SQL Server 2016- eller 2017-dator i Resource Manager-distributionsmodellen.
På fliken SQL Server inställningar väljer du Aktivera under Automatisk säkerhetskopiering. Följande skärmbild Azure Portal visar inställningarna för automatisk SQL säkerhetskopiering.

Anteckning
Automatisk säkerhetskopiering v2 är inaktiverat som standard.
Konfigurera befintliga virtuella datorer
För befintliga SQL Server virtuella datorer går du till resursen SQL virtuella datorer och väljer sedan Säkerhetskopieringar för att konfigurera dina automatiserade säkerhetskopieringar.

När du är klar klickar du på knappen Tillämpa längst ned på sidan Inställningar för säkerhetskopiering för att spara ändringarna.
Om du aktiverar automatisk säkerhetskopiering för första gången konfigurerar Azure SQL Server IaaS-agenten i bakgrunden. Under den här tiden kanske Azure Portal inte visar att automatisk säkerhetskopiering har konfigurerats. Vänta några minuter tills agenten har installerats och konfigurerats. Därefter återspeglar Azure Portal de nya inställningarna.
Konfigurera med PowerShell
Du kan använda PowerShell för att konfigurera automatisk säkerhetskopiering v2. Innan du börjar måste du:
- Ladda ned och installera den senaste Azure PowerShell.
- Öppna Windows PowerShell och associera det med ditt konto med kommandot Anslut-AzAccount.
Anteckning
I den här artikeln används Azure Az PowerShell-modulen, som är den rekommenderade PowerShell-modulen för att interagera med Azure. För att komma igång med Az PowerShell kan du läsa artikeln om att installera Azure PowerShell. Information om hur du migrerar till Az PowerShell-modulen finns i artikeln om att migrera Azure PowerShell från AzureRM till Az.
Installera SQL Server IaaS-tillägget
Om du har etablerat en SQL Server virtuell dator från Azure Portal bör SQL Server IaaS-tillägget redan vara installerat. Du kan avgöra om den har installerats för den virtuella datorn genom att anropa kommandot Get-AzVM och undersöka egenskapen Tillägg.
$vmname = "vmname"
$resourcegroupname = "resourcegroupname"
(Get-AzVM -Name $vmname -ResourceGroupName $resourcegroupname).Extensions
Om SQL Server IaaS Agent-tillägget är installerat bör du se det listat som "SqlIaaSAgent" eller "SQLIaaSExtension". ProvisioningState för tillägget ska också visa "Lyckades".
Om den inte är installerad eller om den inte har etablerats kan du installera den med följande kommando. Förutom namnet på den virtuella datorn och resursgruppen måste du även ange regionen ($region) som den virtuella datorn finns i.
$region = "EASTUS2"
Set-AzVMSqlServerExtension -VMName $vmname `
-ResourceGroupName $resourcegroupname -Name "SQLIaasExtension" `
-Version "2.0" -Location $region
Verifiera aktuella inställningar
Om du aktiverade automatisk säkerhetskopiering under etableringen kan du använda PowerShell för att kontrollera din aktuella konfiguration. Kör kommandot Get-AzVMSqlServerExtension och undersök egenskapen AutoBackupSettings:
(Get-AzVMSqlServerExtension -VMName $vmname -ResourceGroupName $resourcegroupname).AutoBackupSettings
Du bör få utdata som liknar följande:
Enable : True
EnableEncryption : False
RetentionPeriod : 30
StorageUrl : https://test.blob.core.windows.net/
StorageAccessKey :
Password :
BackupSystemDbs : False
BackupScheduleType : Manual
FullBackupFrequency : WEEKLY
FullBackupStartTime : 2
FullBackupWindowHours : 2
LogBackupFrequency : 60
Om dina utdata visar att Aktivera är inställt på Falskt måste du aktivera Automatisk säkerhetskopiering. Den goda nyheten är att du aktiverar och konfigurerar automatisk säkerhetskopiering på samma sätt. Den här informationen finns i nästa avsnitt.
Anteckning
Om du kontrollerar inställningarna direkt efter att du har gjort en ändring är det möjligt att du får tillbaka de gamla konfigurationsvärdena. Vänta några minuter och kontrollera inställningarna igen för att kontrollera att ändringarna har tillämpats.
Konfigurera automatisk säkerhetskopiering v2
Du kan använda PowerShell för att aktivera automatisk säkerhetskopiering samt för att ändra dess konfiguration och beteende när som helst.
Börja med att välja eller skapa ett lagringskonto för säkerhetskopieringsfilerna. Följande skript väljer ett lagringskonto eller skapar det om det inte finns.
$storage_accountname = "yourstorageaccount"
$storage_resourcegroupname = $resourcegroupname
$storage = Get-AzStorageAccount -ResourceGroupName $resourcegroupname `
-Name $storage_accountname -ErrorAction SilentlyContinue
If (-Not $storage)
{ $storage = New-AzStorageAccount -ResourceGroupName $storage_resourcegroupname `
-Name $storage_accountname -SkuName Standard_GRS -Location $region }
Anteckning
Automatisk säkerhetskopiering stöder inte lagring av säkerhetskopior i Premium Storage, men det kan göra säkerhetskopior från VM-diskar som använder Premium Storage.
Använd sedan kommandot New-AzVMSqlServerAutoBackupConfig för att aktivera och konfigurera inställningarna för automatisk säkerhetskopiering v2 för att lagra säkerhetskopior i Azure Storage-kontot. I det här exemplet är säkerhetskopiorna inställda på att behållas i 10 dagar. Säkerhetskopior av systemdatabaser är aktiverade. Fullständiga säkerhetskopieringar schemaläggs varje vecka med ett tidsfönster som börjar kl. 20:00 i två timmar. Loggsäkerhetskopior schemaläggs var 30:e minut. Det andra kommandot, Set-AzVMSqlServerExtension, uppdaterar den angivna virtuella Azure-datorn med dessa inställningar.
$autobackupconfig = New-AzVMSqlServerAutoBackupConfig -Enable `
-RetentionPeriodInDays 10 -StorageContext $storage.Context `
-ResourceGroupName $storage_resourcegroupname -BackupSystemDbs `
-BackupScheduleType Manual -FullBackupFrequency Weekly `
-FullBackupStartHour 20 -FullBackupWindowInHours 2 `
-LogBackupFrequencyInMinutes 30
Set-AzVMSqlServerExtension -AutoBackupSettings $autobackupconfig `
-VMName $vmname -ResourceGroupName $resourcegroupname
Det kan ta flera minuter att installera och konfigurera SQL Server IaaS-agenten.
Om du vill aktivera kryptering ändrar du det tidigare skriptet så att det skickar parametern EnableEncryption tillsammans med ett lösenord (säker sträng) för parametern CertificatePassword. Följande skript aktiverar inställningarna för automatisk säkerhetskopiering i föregående exempel och lägger till kryptering.
$password = "P@ssw0rd"
$encryptionpassword = $password | ConvertTo-SecureString -AsPlainText -Force
$autobackupconfig = New-AzVMSqlServerAutoBackupConfig -Enable `
-EnableEncryption -CertificatePassword $encryptionpassword `
-RetentionPeriodInDays 10 -StorageContext $storage.Context `
-ResourceGroupName $storage_resourcegroupname -BackupSystemDbs `
-BackupScheduleType Manual -FullBackupFrequency Weekly `
-FullBackupStartHour 20 -FullBackupWindowInHours 2 `
-LogBackupFrequencyInMinutes 30
Set-AzVMSqlServerExtension -AutoBackupSettings $autobackupconfig `
-VMName $vmname -ResourceGroupName $resourcegroupname
Kontrollera att inställningarna tillämpas genom att verifiera konfigurationen för automatisk säkerhetskopiering.
Inaktivera automatisk säkerhetskopiering
Om du vill inaktivera automatisk säkerhetskopiering kör du samma skript utan parametern -Enable till kommandot New-AzVMSqlServerAutoBackupConfig. Frånvaron av parametern -Enable signalerar kommandot för att inaktivera funktionen. Precis som med installationen kan det ta flera minuter att inaktivera automatisk säkerhetskopiering.
$autobackupconfig = New-AzVMSqlServerAutoBackupConfig -ResourceGroupName $storage_resourcegroupname
Set-AzVMSqlServerExtension -AutoBackupSettings $autobackupconfig `
-VMName $vmname -ResourceGroupName $resourcegroupname
Exempelskript
Följande skript innehåller en uppsättning variabler som du kan anpassa för att aktivera och konfigurera automatisk säkerhetskopiering för den virtuella datorn. I ditt fall kan du behöva anpassa skriptet baserat på dina krav. Du skulle till exempel behöva göra ändringar om du vill inaktivera säkerhetskopiering av systemdatabaser eller aktivera kryptering.
$vmname = "yourvmname"
$resourcegroupname = "vmresourcegroupname"
$region = "Azure region name such as EASTUS2"
$storage_accountname = "storageaccountname"
$storage_resourcegroupname = $resourcegroupname
$retentionperiod = 10
$backupscheduletype = "Manual"
$fullbackupfrequency = "Weekly"
$fullbackupstarthour = "20"
$fullbackupwindow = "2"
$logbackupfrequency = "30"
# ResourceGroupName is the resource group which is hosting the VM where you are deploying the SQL Server IaaS Extension
Set-AzVMSqlServerExtension -VMName $vmname `
-ResourceGroupName $resourcegroupname -Name "SQLIaasExtension" `
-Version "2.0" -Location $region
# Creates/use a storage account to store the backups
$storage = Get-AzStorageAccount -ResourceGroupName $resourcegroupname `
-Name $storage_accountname -ErrorAction SilentlyContinue
If (-Not $storage)
{ $storage = New-AzStorageAccount -ResourceGroupName $storage_resourcegroupname `
-Name $storage_accountname -SkuName Standard_GRS -Location $region }
# Configure Automated Backup settings
$autobackupconfig = New-AzVMSqlServerAutoBackupConfig -Enable `
-RetentionPeriodInDays $retentionperiod -StorageContext $storage.Context `
-ResourceGroupName $storage_resourcegroupname -BackupSystemDbs `
-BackupScheduleType $backupscheduletype -FullBackupFrequency $fullbackupfrequency `
-FullBackupStartHour $fullbackupstarthour -FullBackupWindowInHours $fullbackupwindow `
-LogBackupFrequencyInMinutes $logbackupfrequency
# Apply the Automated Backup settings to the VM
Set-AzVMSqlServerExtension -AutoBackupSettings $autobackupconfig `
-VMName $vmname -ResourceGroupName $resourcegroupname
Övervakning
Om du vill övervaka automatisk säkerhetskopiering SQL Server 2016/2017 har du två huvudalternativ. Eftersom automatisk säkerhetskopiering använder SQL Server Managed Backup-funktionen gäller samma övervakningsmetoder för båda.
Först kan du avssöka statusen genom att anropa msdb.managed_backup.sp_get_backup_diagnostics. Eller fråga funktionen msdb.managed_backup.fn_get_health_status table-valued.
Ett annat alternativ är att dra nytta av den inbyggda Database Mail för meddelanden.
- Anropa den lagrade proceduren msdb.managed_backup.sp_set_parameter för att tilldela en e-postadress till parametern SSMBackup2WANotificationEmailIds.
- Aktivera SendGrid för att skicka e-postmeddelanden från den virtuella Azure-datorn.
- Använd SMTP-servern och användarnamnet för att konfigurera Database Mail. Du kan konfigurera Database Mail i SQL Server Management Studio eller med Transact-SQL kommandon. Mer information finns i Database Mail.
- Konfigurera SQL Server agent att använda Database Mail.
- Kontrollera att SMTP-porten tillåts både via den lokala VM-brandväggen och nätverkssäkerhetsgruppen för den virtuella datorn.
Nästa steg
Automatisk säkerhetskopiering v2 konfigurerar hanterad säkerhetskopiering på virtuella Azure-datorer. Därför är det viktigt att granska dokumentationen för Managed Backup för att förstå beteendet och konsekvenserna.
Du hittar ytterligare vägledning för säkerhetskopiering och återställning SQL Server virtuella Azure-datorer i följande artikel: Säkerhetskopiering och återställning för SQL Server på virtuella Azure-datorer.
Information om andra tillgängliga automatiseringsuppgifter finns i SQL Server IaaS-agenttillägget.
Mer information om hur du kör SQL Server virtuella Azure-datorer finns i SQL Server översikt över virtuella Azure-datorer.