Automatizované zálohování v2 pro virtuální počítače Azure (Správce prostředků)

PLATÍ PRO: SQL Server na virtuálním počítači Azure

automatizované zálohování v2 automaticky konfiguruje spravovanou zálohu na Microsoft Azure pro všechny stávající a nové databáze na virtuálním počítači Azure s SQL Server 2016 nebo novějšími edicemi standard, Enterprise nebo Developer. To vám umožní nakonfigurovat pravidelné zálohy databází, které využívají trvalé úložiště objektů BLOB v Azure. automatizované zálohování v2 závisí na rozšíření agenta SQL Server infrastruktury jako služby (IaaS).

Požadavky

Pokud chcete používat automatizované zálohování v2, Projděte si následující požadavky:

Operační systém:

  • Windows Server 2012 R2 nebo novější

SQL Server verze/edice:

  • SQL Server 2016 nebo vyšší: Developer, Standard nebo Enterprise

Poznámka

SQL Server 2014 najdete v tématu automatizované zálohování pro SQL Server 2014.

Konfigurace databáze:

  • Cílové uživatelské databáze musí používat úplný model obnovení. Systémové databáze nemusejí používat úplný model obnovení. Pokud však požadujete, aby byly zálohy protokolů provedeny pro model nebo MSDB, je nutné použít úplný model obnovení. Další informace o dopadu plného modelu obnovení na zálohování najdete v části zálohování v rámci úplného modelu obnovení.
  • SQL Server virtuální počítač se zaregistroval s rozšířením agenta SQL IaaS v režimu úplné správy.
  • automatické zálohování spoléhá na úplné rozšíření agenta SQL Server IaaS. V takovém případě se automatizované zálohování podporuje jenom v cílových databázích z výchozí instance nebo z jedné pojmenované instance. pokud neexistuje žádná výchozí instance a více pojmenovaných instancí, rozšíření SQL IaaS selže a automatizované zálohování nebude fungovat.

Nastavení

Následující tabulka popisuje možnosti, které je možné nakonfigurovat pro automatizované zálohování v2. skutečné kroky konfigurace se liší v závislosti na tom, zda používáte příkazy Azure Portal nebo Azure Windows PowerShell.

Základní nastavení

Nastavení Rozsah (výchozí) Description
Automatizované zálohování Povolit/zakázat (zakázáno) povolí nebo zakáže automatizované zálohování pro virtuální počítač Azure se spuštěným SQL Server 2016/2017 Developer, Standard nebo Enterprise.
Doba uchování 1-30 dní (30 dní) Počet dní uchovávání záloh.
Účet úložiště Účet služby Azure Storage Účet služby Azure Storage, který se má použít pro ukládání automatizovaných záložních souborů v úložišti objektů BLOB. V tomto umístění se vytvoří kontejner pro uložení všech záložních souborů. Konvence pojmenování záložních souborů zahrnuje datum, čas a GUID databáze.
Šifrování Povolit/zakázat (zakázáno) Povolí nebo zakáže šifrování. Pokud je povolené šifrování, certifikáty používané k obnovení zálohy se nacházejí v zadaném účtu úložiště. Používá stejný kontejner automatického zálohování se stejnou konvencí vytváření názvů. Pokud se změní heslo, vygeneruje se nový certifikát s tímto heslem, starý certifikát ale zůstane k obnovení předchozího zálohování.
Heslo Text hesla Heslo pro šifrovací klíče. Toto heslo je nutné pouze v případě, že je povoleno šifrování. Aby bylo možné obnovit šifrované zálohování, musíte mít správné heslo a související certifikát, který byl použit v době pořízení zálohy.

Upřesnit nastavení

Nastavení Rozsah (výchozí) Description
Zálohy systémových databází Povolit/zakázat (zakázáno) Když je tato funkce povolená, zálohuje taky systémové databáze: Master, MSDB a model. Pro databáze MSDB a model ověřte, zda jsou v režimu úplného obnovení, pokud chcete provádět zálohy protokolu. Zálohy protokolů se nikdy neprovádí pro hlavní server. A pro databázi TempDB nejsou vyřízeny žádné zálohy.
Plán zálohování Ruční/automatizovaná (automatizovaná) Ve výchozím nastavení se plán zálohování automaticky určí na základě nárůstu protokolu. Plán ručního zálohování umožňuje uživateli zadat časový interval pro zálohování. V takovém případě zálohy probíhají pouze v zadaném intervalu a v určeném časovém intervalu daného dne.
Frekvence úplného zálohování Denně/týdně Frekvence úplných záloh. V obou případech začíná úplné zálohování během dalšího naplánovaného časového intervalu. Pokud je vybrán týden, zálohování může zahrnovat několik dní, dokud nebudou všechny databáze úspěšně zálohovány.
Čas spuštění úplného zálohování 00:00 – 23:00 (01:00) Čas začátku daného dne, během kterého může probíhat úplné zálohování.
Časový interval úplného zálohování 1 – 23 hodin (1 hodina) Doba trvání časového intervalu daného dne, během kterého může probíhat úplné zálohování.
Frekvence zálohování protokolu 5 – 60 minut (60 min.) Frekvence zálohování protokolů.

Porozumění četnosti úplného zálohování

Je důležité pochopit rozdíl mezi každodenním a týdenním úplným zálohováním. Vezměte v úvahu následující dva ukázkové scénáře.

Scénář 1: týdenní zálohování

máte SQL Server virtuální počítač, který obsahuje velký počet velkých databází.

V pondělí povolíte automatizované zálohování v2 s následujícími nastaveními:

  • Plán zálohování: Ruční
  • Frekvence úplného zálohování: týdně
  • Čas spuštění úplného zálohování: 01:00
  • Časový interval úplného zálohování: 1 hodina

To znamená, že další dostupné okno zálohování je úterý 1. až 1 hodinu. V tuto chvíli začne automatické zálohování zálohovat databáze po jednom. V tomto scénáři jsou vaše databáze dostatečně velké, než se úplné zálohování dokončí pro první pár databází. Nicméně po jedné hodině nejsou všechny databáze zálohovány.

Pokud k tomu dojde, začne automatizované zálohování po dobu jedné hodiny zálohovat zbývající databáze do dalšího dne. Pokud v tuto chvíli nejsou všechny databáze zálohované, zkusí to znovu další den ve stejnou dobu. To pokračuje, dokud nebudou všechny databáze úspěšně zálohovány.

Jakmile automatizované zálohování znovu dosáhne úterý, začne znovu zálohovat všechny databáze.

Tento scénář ukazuje, že automatizované zálohování funguje pouze v zadaném časovém období a každá databáze se zálohuje jednou týdně. To také ukazuje, že zálohování může být za několik dnů v případě, že není možné dokončit všechny zálohy za jeden den.

Scénář 2: Denní zálohování

Máte virtuální SQL Server, který obsahuje řadu rozsáhlých databází.

V pondělí povolíte automatizované zálohování v2 s následujícím nastavením:

  • Plán zálohování: Ruční
  • Frekvence úplného zálohování: Denně
  • Čas spuštění úplného zálohování: 22:00
  • Úplné časové období zálohování: 6 hodin

To znamená, že další dostupné okno zálohování je pondělí v 22:00 po dobu 6 hodin. V tu chvíli začne automatizované zálohování zálohovat databáze po jedné.

V úterý v 10 hodin po dobu 6 hodin se znovu spustí úplné zálohování všech databází.

Důležité

Zálohování se děje postupně během každého intervalu. V případě instancí s velkým počtem databází naplánujte interval zálohování s dostatečným časem pro všechny zálohy. Pokud se zálohování v daném intervalu nemůže dokončit, může dojít k přeskočení některých záloh a váš čas mezi zálohováním pro jednu databázi může být delší než nakonfigurovaný interval zálohování, což by mohlo negativně ovlivnit cíl bodu obnovení (RPO).

Konfigurace nových virtuálních počítače

Ke Azure Portal automatizovaného zálohování verze 2 při vytváření nového virtuálního počítače SQL Server 2016 nebo 2017 v modelu nasazení Resource Manager použijte nástroj .

Na kartě SQL Server nastavení vyberte Povolit v části Automatizované zálohování. Následující snímek Azure Portal obrazovky ukazuje SQL automatizovaného zálohování.

SQL konfigurace automatizovaného zálohování v Azure Portal

Poznámka

Automatizované zálohování v2 je ve výchozím nastavení zakázané.

Konfigurace existujících virtuálních počítače

U existujících SQL Server virtuálních počítačů přejděte do prostředku SQL virtual machines a pak vyberte Zálohy a nakonfigurujte automatizované zálohy.

SQL automatizovaného zálohování pro existující virtuální počítače

Po dokončení uložte změny kliknutím na tlačítko Použít v dolní části stránky Nastavení zálohování.

Pokud automatizované zálohování povolíte poprvé, Azure na pozadí nakonfiguruje SQL Server agenta IaaS. Během této doby nemusí Azure Portal konfigurace automatizovaného zálohování. Počkejte několik minut, než se agent nainstaluje a nakonfiguruje. Potom se Azure Portal nová nastavení.

Konfigurace pomocí PowerShellu

Ke konfiguraci automatizovaného zálohování v2 můžete použít PowerShell. Než začnete, musíte:

Poznámka

Tento článek používá modul Azure Az PowerShell, což je doporučený modul PowerShellu pro interakci s Azure. Pokud chcete začít s modulem Az PowerShell, projděte si téma věnované instalaci Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.

Instalace SQL Server IaaS

Pokud jste z SQL Server virtuálního počítače z Azure Portal, mělo by SQL Server už nainstalované rozšíření IaaS. To, jestli je pro váš virtuální počítač nainstalovaný, můžete zjistit tak, že zavoláte příkaz Get-AzVM a prozkoumáte vlastnost Extensions.

$vmname = "vmname"
$resourcegroupname = "resourcegroupname"

(Get-AzVM -Name $vmname -ResourceGroupName $resourcegroupname).Extensions 

Pokud je SQL Server agenta IaaS nainstalované, mělo by se zobrazit jako SqlIaaSAgent nebo SQLIaaSExtension. U vlastnosti ProvisioningState rozšíření by se měla zobrazit také možnost Úspěch.

Pokud není nainstalovaný nebo se nepodařilo ho zřídit, můžete ho nainstalovat pomocí následujícího příkazu. Kromě názvu virtuálního počítače a skupiny prostředků musíte také zadat oblast ($region), ve které se váš virtuální počítač nachází.

$region = "EASTUS2"
Set-AzVMSqlServerExtension -VMName $vmname `
    -ResourceGroupName $resourcegroupname -Name "SQLIaasExtension" `
    -Version "2.0" -Location $region 

Ověření aktuálního nastavení

Pokud jste během zřizování povolili automatizované zálohování, můžete zkontrolovat aktuální konfiguraci pomocí PowerShellu. Spusťte příkaz Get-AzVMSqlServerExtension a prozkoumejte vlastnost AutoBackupSettings:

(Get-AzVMSqlServerExtension -VMName $vmname -ResourceGroupName $resourcegroupname).AutoBackupSettings

Měl by se zobrazit výstup podobný následujícímu:

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

Pokud se ve výstupu zobrazí, že možnost Povolit je nastavená na Hodnotu False, musíte povolit automatizované zálohování. Dobrou zprávou je, že automatizované zálohování povolíte a nakonfigurujete stejným způsobem. Tyto informace najdete v další části.

Poznámka

Pokud nastavení zkontrolujete hned po provedení změny, je možné, že vrátíte staré hodnoty konfigurace. Počkejte několik minut a znovu zkontrolujte nastavení, abyste se ujistili, že se změny použily.

Konfigurace automatizovaného zálohování v2

Pomocí PowerShellu můžete povolit automatizované zálohování a kdykoli upravit jeho konfiguraci a chování.

Nejprve vyberte nebo vytvořte účet úložiště pro záložní soubory. Následující skript vybere účet úložiště nebo ho vytvoří, pokud ještě neexistuje.

$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 } 

Poznámka

Automatizované zálohování nepodporuje ukládání záloh do úložiště úrovně Premium, ale může zálohovat disky virtuálních počítačů, které používají Premium Storage.

Pak pomocí příkazu New-AzVMSqlServerAutoBackupConfig povolte a nakonfigurujte nastavení automatizovaného zálohování v2 pro ukládání záloh v účtu úložiště Azure. V tomto příkladu se zálohy nastaví tak, aby se uchovávaly po dobu 10 dnů. Zálohování systémových databází je povolené. Úplné zálohování se plánuje každý týden s časovým intervalem začínajícím na 20:00 na dvě hodiny. Zálohování protokolů se plánuje na každých 30 minut. Druhý příkaz Set-AzVMSqlServerExtension aktualizuje zadaný virtuální počítač Azure pomocí těchto nastavení.

$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 

Instalace a konfigurace agenta IaaS může SQL Server několik minut.

Pokud chcete povolit šifrování, upravte předchozí skript tak, aby předal parametr EnableEncryption spolu s heslem (zabezpečený řetězec) pro parametr CertificatePassword. Následující skript povolí nastavení automatizovaného zálohování v předchozím příkladu a přidá šifrování.

$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

Pokud chcete ověřit, že se vaše nastavení použilo, ověřte konfiguraci automatizovaného zálohování.

Zakázání automatizovaného zálohování

Pokud chcete automatizovanou zálohu zakázat, spusťte stejný skript bez parametru -Enable pro příkaz New-AzVMSqlServerAutoBackupConfig. Absence parametru -Enable signalizuje příkaz k zakázání funkce. Stejně jako u instalace může i zakázání automatizovaného zálohování trvat několik minut.

$autobackupconfig = New-AzVMSqlServerAutoBackupConfig -ResourceGroupName $storage_resourcegroupname

Set-AzVMSqlServerExtension -AutoBackupSettings $autobackupconfig `
    -VMName $vmname -ResourceGroupName $resourcegroupname

Ukázkový skript

Následující skript obsahuje sadu proměnných, které můžete přizpůsobit a povolit a nakonfigurovat automatizované zálohování pro váš virtuální počítač. V takovém případě možná budete muset skript přizpůsobit podle svých požadavků. Pokud byste například chtěli zakázat zálohování systémových databází nebo povolit šifrování, muset byste provést změny.

$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

Monitorování

Pokud chcete monitorovat automatizované zálohování SQL Server 2016/2017, máte dvě hlavní možnosti. Vzhledem k tomu, že automatizované zálohování SQL Server funkci spravovaného zálohování, platí stejné techniky monitorování pro obojí.

Nejprve se můžete dotazovat na stav voláním msdb.managed_backup.sp_get_backup_diagnostics. Nebo dotaz na msdb.managed_backup.fn_get_health_status table-valued.

Další možností je využít výhod integrované funkce Databázová pošta oznámení.

  1. Voláním uložené msdb.managed_backup.sp_set_parameter přiřaďte e-mailovou adresu k parametru SSMBackup2WANotificationEmailIds.
  2. Povolte SendGrid k odesílání e-mailů z virtuálního počítače Azure.
  3. Ke konfiguraci serveru SMTP a uživatelského jména použijte Databázová pošta. Můžete nakonfigurovat Databázová pošta v SQL Server Management Studio nebo pomocí příkazů Transact-SQL. Další informace najdete v tématu Databázová pošta.
  4. Nakonfigurujte SQL Server Agent pro použití Databázová pošta.
  5. Ověřte, že je povolený port SMTP přes bránu firewall místního virtuálního počítače i skupinu zabezpečení sítě pro virtuální počítač.

Další kroky

Automatizované zálohování v2 konfiguruje spravované zálohování na virtuálních počítači Azure. Proto je důležité si prohlédněte dokumentaci ke službě Managed Backup, abyste porozuměli chování a důsledkům.

Další pokyny k zálohování a obnovení SQL Server virtuálních počítačích Azure najdete v následujícím článku: Zálohování a obnovení SQL Server virtuálních počítačích Azure.

Informace o dalších dostupných úlohách automatizace najdete v SQL Server rozšíření agenta IaaS.

Další informace o spouštění virtuálních SQL Server virtuálních počítačích Azure najdete v tématu SQL Server přehled virtuálních počítačů Azure.