Automatizované zálohování pro virtuální počítače s SQL Serverem 2014 (Resource Manager)

Platí pro:SQL Server na virtuálním počítači Azure

Automatizované zálohování automaticky konfiguruje spravované zálohování do Microsoft Azure pro všechny existující a nové databáze na virtuálním počítači Azure s SQL Serverem 2014 Standard nebo Enterprise. To vám umožní nakonfigurovat pravidelné zálohy databáze, které využívají odolné úložiště objektů blob v Azure. Automatizované zálohování závisí na rozšíření agenta IaaS (infrastruktura SQL Serveru jako služba).

Poznámka:

Azure má dva různé modely nasazení, které můžete použít k vytváření a práci s prostředky: Azure Resource Manager a Classic. Tento článek popisuje použití modelu nasazení Resource Manager. Pro nová nasazení místo modelu nasazení Classic doporučujeme model nasazení Resource Manager.

Předpoklady

Pokud chcete použít automatizované zálohování, zvažte následující požadavky:

Operační systém:

  • Windows Server 2012 a novější

Verze nebo edice SQL Serveru:

  • SQL Server 2014 Standard
  • SQL Server 2014 Enterprise

Poznámka:

Informace o SQL 2016 a novějších najdete v tématu Automatizované zálohování pro SQL Server 2016.

Konfigurace databáze:

  • Cílové uživatelské databáze musí používat úplný model obnovení. Systémové databáze nemusí používat úplný model obnovení. Pokud však požadujete, aby byly pořízeny zálohy protokolů nebo modelmsdb, musíte použít úplný model obnovení. Další informace o dopadu úplného modelu obnovení na zálohy najdete v tématu Zálohování v rámci celého modelu obnovení.
  • Virtuální počítač s SQL Serverem je zaregistrovaný v rozšíření agenta SQL IaaS a je povolená funkce automatizovaného zálohování . Vzhledem k tomu, že automatizované zálohování závisí na rozšíření, je automatizované zálohování podporováno pouze v cílových databázích z výchozí instance nebo jedné pojmenované instance. Pokud neexistuje žádná výchozí instance a několik pojmenovaných instancí, rozšíření agenta 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í. Skutečný postup konfigurace se liší v závislosti na tom, jestli používáte azure portal nebo příkazy Azure Windows PowerShellu. Upozorňujeme, že automatizované zálohování ve výchozím nastavení používá kompresi zálohování a nemůžete ji zakázat.

Nastavení Rozsah (výchozí) Popis
Automatizované zálohování Povolení nebo zakázání (zakázáno) Povolí nebo zakáže automatizované zálohování pro virtuální počítač Azure s SQL Serverem 2014 Standard nebo Enterprise.
Doba uchovávání 1–90 dní (90 dní) Počet dnů, po které se má záloha zachovat.
Účet úložiště Účet služby Azure Storage Účet úložiště Azure, který se použije k ukládání souborů automatizovaného zálohování do úložiště objektů blob. V tomto umístění se vytvoří kontejner pro ukládání všech záložních souborů. Zásady vytváření názvů záložních souborů zahrnují datum, čas a název počítače.
Šifrování Povolení nebo zakázání (zakázáno) Povolí nebo zakáže šifrování zálohování. Pokud je povolené šifrování zálohování, certifikáty použité k obnovení zálohy se nacházejí v zadaném účtu úložiště ve stejném automaticbackup kontejneru pomocí stejné zásady vytváření názvů. Pokud se heslo změní, vygeneruje se s tímto heslem nový certifikát, ale starý certifikát zůstane k obnovení předchozích záloh.
Heslo Text hesla Heslo pro šifrovací klíče. To se vyžaduje jenom v případě, že je povolené šifrování. Abyste mohli obnovit šifrovanou zálohu, musíte mít správné heslo a související certifikát, který byl použit v době, kdy byla záloha provedena.

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

Pomocí webu Azure Portal můžete nakonfigurovat automatizované zálohování při vytváření nového virtuálního počítače s SQL Serverem 2014 v modelu nasazení Resource Manager.

Na kartě Nastavení SQL Serveru se posuňte dolů k automatickému zálohování a vyberte Povolit. Následující snímek obrazovky webu Azure Portal ukazuje nastavení automatizovaného zálohování SQL.

SQL Automated Backup configuration in the Azure portal

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

U stávajících virtuálních počítačů s SQL Serverem můžete povolit a zakázat automatizované zálohování, změnit dobu uchovávání, zadat účet úložiště a povolit šifrování z webu Azure Portal.

Přejděte k prostředku virtuálních počítačů SQL pro váš virtuální počítač s SQL Serverem 2014 a pak vyberte Zálohování.

SQL Automated Backup for existing VMs

Až budete hotovi, vyberte tlačítko Použít v dolní části stránky Zálohování a uložte provedené změny.

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

Poznámka:

Automatizované zálohování můžete také nakonfigurovat pomocí šablony. Další informace najdete v šabloně Rychlého startu Azure pro automatizované zálohování.

Konfigurace pomocí PowerShellu

Ke konfiguraci automatizovaného zálohování 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.

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

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

$vmname = "yourvmname"
$resourcegroupname = "yourresourcegroupname"

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

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

Enable                      : False
EnableEncryption            : False
RetentionPeriod             : -1
StorageUrl                  : NOTSET
StorageAccessKey            : 
Password                    : 
BackupSystemDbs             : False
BackupScheduleType          : 
FullBackupFrequency         : 
FullBackupStartTime         : 
FullBackupWindowHours       : 
LogBackupFrequency          : 

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

Poznámka:

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

Konfigurace automatizovaného zálohování

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 neexistuje.

$vmname = "yourvmname"
$resourcegroupname = "yourresourcegroupname"
$storage_accountname = "yourstorageaccount"
$storage_url = "https://yourstorageaccount.blob.core.windows.net/"

$storage = Get-AzStorageAccount -ResourceGroupName $resourcegroupname `
    -Name $storage_accountname -ErrorAction SilentlyContinue
If (-Not $storage)
    { $storage = New-AzStorageAccount -ResourceGroupName $resourcegroupname `
    -Name $storage_accountname -SkuName Standard_GRS -Location $region }

Poznámka:

Automatizované zálohování nepodporuje ukládání záloh ve službě Premium Storage, ale může provádět zálohy z disků virtuálních počítačů, které používají Premium Storage.

Pokud chcete pro zálohy použít vlastní kontejner v účtu úložiště, pomocí následujícího skriptu zkontrolujte kontejner nebo ho vytvořte, pokud neexistuje.

$storage_container = "backupcontainer"

New-AzStorageContainer -Name $storage_container -Context $storage.Context

if (!(Get-AzStorageAccount -StorageAccountName $storage_accountname -ResourceGroupName $resourcegroupname | Get-AzStorageContainer | Where-Object { $_.Name -eq $storage_container })){ `
	New-AzStorageContainer -Name $storage_container -Context $storage.Context `
} `
 else `
{ `
	Write-Warning "Container $storage_container already exists." `
}

Pak pomocí následujícího skriptu získejte přístupový klíč pro účet úložiště:

$accesskey = (Get-AzStorageAccountKey -ResourceGroupName $resourcegroupname  -Name $storage_accountname)[0].value

Potom pomocí příkazu Update-AzSqlVM povolte a nakonfigurujte nastavení automatizovaného zálohování pro ukládání záloh do účtu úložiště Azure. V tomto příkladu se zálohy nastaví tak, aby se uchovály po dobu 10 dnů.

Update-AzSqlVM -ResourceGroupName $resourcegroupname -Name $vmname -AutoBackupSettingEnable `
-AutoBackupSettingStorageAccessKey $accesskey `
-AutoBackupSettingStorageAccountUrl $storage_url `
-AutoBackupSettingRetentionPeriod 10 `
-AutoBackupSettingStorageContainerName $storage_container 

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

Poznámka:

Existují další nastavení pro Update-AzSqlVM*, která platí jenom pro SQL Server 2016 a automatizované zálohování. SQL Server 2014 nepodporuje následující nastavení: -AutoBackupSettingBackupSystemDb, -AutoBackupSettingBackupScheduleType, -AutoBackupSettingFullBackupFrequency, -AutoBackupSettingFullBackupStartTime, -AutoBackupSettingFullSettingFullSettingUpWindowHour a -AutoBackupSettingLogBackupFrequency. Pokud se pokusíte nakonfigurovat tato nastavení na virtuálním počítači s SQL Serverem 2014, nezobrazí se žádná chyba, ale nastavení se nepoužijí. Pokud chcete tato nastavení použít na virtuálním počítači s SQL Serverem 2016, přečtěte si téma Automatizované zálohování pro virtuální počítače Azure s SQL Serverem 2016.

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

$password = "r@ndom Va1ue"
$encryptionpassword = $password | ConvertTo-SecureString -AsPlainText -Force  

Update-AzSqlVM -ResourceGroupName $resourcegroupname -Name $vmname -AutoBackupSettingEnable `
-AutoBackupSettingStorageAccessKey $accesskey `
-AutoBackupSettingStorageAccountUrl $storage_url `
-AutoBackupSettingRetentionPeriod 10 `
-AutoBackupSettingEnableEncryption `
-AutoBackupSettingPassword $encryptionpassword `
-AutoBackupSettingStorageContainerName $storage_container 

Pokud chcete potvrdit, že se nastavení používá, ověřte konfiguraci automatizovaného zálohování.

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

Pokud chcete zakázat automatizované zálohování, spusťte stejný skript s parametrem -AutoBackupSettingEnable nastaveným na $false v příkazu Update-AzSqlVM . Nastavením hodnoty na $false je tato funkce zakázaná. Stejně jako u instalace může zakázání automatizovaného zálohování trvat několik minut.

Update-AzSqlVM -ResourceGroupName $resourcegroupname -Name $vmname -AutoBackupSettingEnable:$false

Ukázkový skript

Následující skript poskytuje sadu proměnných, které můžete přizpůsobit, abyste povolili a nakonfigurovali automatizované zálohování pro virtuální počítač. V takovém případě možná budete muset skript přizpůsobit na základě vašich požadavků. Pokud byste například chtěli zakázat zálohování systémových databází nebo povolit šifrování, museli byste provádět změny.

$vmname = "yourvmname"
$resourcegroupname = "yourresourcegroupname"
$region = "Azure region name such as EASTUS2"
$storage_accountname = "yourstorageaccount"
$storage_url = "https://yourstorageaccount.blob.core.windows.net/"
$retentionperiod = 10

# 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 $resourcegroupname `
    -Name $storage_accountname -SkuName Standard_GRS -Location $region }

# Creates/uses a custom storage account container

$storage_container = "yourbackupcontainer"

if (!(Get-AzStorageAccount -StorageAccountName $storage_accountname -ResourceGroupName $resourcegroupname | Get-AzStorageContainer | Where-Object { $_.Name -eq $storage_container })){ `
	New-AzStorageContainer -Name $storage_container -Context $storage.Context `
} `
 else `
{ `
	Write-Warning "Container $storage_container already exists." `
}

# Get storage account access key
$accesskey = (Get-AzStorageAccountKey -ResourceGroupName $resourcegroupname  -Name $storage_accountname)[0].value

# Configure Automated Backup settings

Update-AzSqlVM -ResourceGroupName $resourcegroupname -Name $vmname -AutoBackupSettingEnable `
-AutoBackupSettingStorageAccessKey $accesskey `
-AutoBackupSettingStorageAccountUrl $storage_url `
-AutoBackupSettingRetentionPeriod $retentionperiod `
-AutoBackupSettingStorageContainerName $storage_container 

Sledování

Pokud chcete monitorovat automatizované zálohování na SQL Serveru 2014, máte dvě hlavní možnosti. Vzhledem k tomu, že automatizované zálohování používá funkci spravovaného zálohování SQL Serveru, platí pro obě stejné techniky monitorování.

Nejprve můžete stav dotazovat voláním msdb.smart_admin.sp_get_backup_diagnostics. Nebo zadejte dotaz na funkci s hodnotou tabulky msdb.smart_admin.fn_get_health_status .

Poznámka:

Schéma spravovaného zálohování v SQL Serveru 2014 je msdb.smart_admin. V SQL Serveru 2016 se toto nastavení změnilo na msdb.managed_backup a referenční témata používají toto novější schéma. Pro SQL Server 2014 ale musíte dál používat schéma smart_admin pro všechny objekty spravovaného zálohování.

Další možností je využít integrovanou funkci Databázová pošta pro oznámení.

  1. Volání uložené procedury msdb.smart_admin.sp_set_parameter, která přiřadí e-mailovou adresu parametru SSMBackup2WANotificationEmailIds.
  2. Povolte SendGrid , aby se e-maily odesílaly z virtuálního počítače Azure.
  3. Ke konfiguraci Databázová pošta použijte server SMTP a uživatelské jméno. V aplikaci SQL Server Management Studio nebo pomocí příkazů jazyka Transact-SQL můžete nakonfigurovat Databázová pošta. Další informace najdete v tématu Databázová pošta.
  4. Nakonfigurujte agenta SQL Serveru tak, aby používal Databázová pošta.
  5. Ověřte, že port SMTP je povolený jak přes místní bránu firewall virtuálního počítače, tak i skupinu zabezpečení sítě pro virtuální počítač.

Další kroky

Automatizované zálohování konfiguruje spravované zálohování na virtuálních počítačích Azure. Proto je důležité si projít dokumentaci ke spravovanému zálohování na SQL Serveru 2014.

Další doprovodné materiály k zálohování a obnovení SQL Serveru na virtuálních počítačích Azure najdete v následujícím článku: Zálohování a obnovení SQL Serveru na virtuálních počítačích Azure.

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

Další informace o spuštění SQL Serveru na virtuálních počítačích Azure najdete v přehledu SQL Serveru na virtuálních počítačích Azure.