Automatizované zálohování SQL Serveru na virtuálních počítačích Azure
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 SQL Serveru na virtuálních počítačích Azure od SQL Serveru 2016 nebo novější edice Standard, Enterprise nebo Developer. To vám umožní nakonfigurovat pravidelné zálohy databáze, které využívají odolné úložiště objektů blob v Azure.
Požadavky
K použití automatizovaných záloh pro SQL Server na virtuálním počítači Azure potřebujete:
- SQL Server na virtuálních počítačích Azure zaregistrovaný s rozšířením agenta SQL IaaS
- Windows Server 2012 R2 nebo novější
- SQL Server 2016 a novější Informace o SQL Serveru 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 nemusí používat úplný model obnovení. Pokud však požadujete, aby byly pořízeny zálohy protokolů nebo
model
msdb
, 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í, automatizované zálohování je podporováno pouze u cílových databází 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.
- Pokud spouštíte automatizované zálohování na sekundární replice skupiny dostupnosti AlwaysOn, musí být replika čitelná , aby zálohování bylo úspěšné.
- 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
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. Automatizované zálohování ve výchozím nastavení používá kompresi zálohování a nedá se zakázat.
Základní nastavení
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 2016 nebo novějším vývojářem, standardem nebo enterprise. |
Doba uchovávání | 1–90 dní (90 dní) | Počet dnů, po který služba uchovává metadata zálohování v msdb . Po vypršení doby uchovávání zálohy se metadata odstraní z msdb kontejneru úložiště, ale soubory se neodstraní. Pomocí zásad správy životního cyklu pro účet úložiště můžete vyrovnávat uchovávání záloh se správou nákladů podle potřeb vaší firmy. |
Úč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 identifikátor GUID databáze. |
Š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. Toto heslo 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. |
Rozšířená nastavení
Nastavení | Rozsah (výchozí) | Popis |
---|---|---|
Zálohy systémových databází | Povolení nebo zakázání (zakázáno) | Pokud je tato funkce povolená, zálohuje také systémové databáze: master , msdb a model . U databází msdb a model databází ověřte, že jsou v úplném modelu obnovení, pokud chcete vytvořit zálohy protokolů. Zálohy protokolů se nikdy neprovedou master a žádné zálohy nejsou pořízeny pro tempdb . |
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ě růstu protokolu. Plán ručního zálohování umožňuje uživateli zadat časové intervaly pro zálohování. V takovém případě se zálohy provádí pouze v zadané frekvenci a v zadaném časovém intervalu daného dne. |
Úplná frekvence zálohování | Denně/týdně | Frekvence úplných záloh. V oboupřípadechch Když vyberete týdenní výběr, zálohování může zahrnovat několik dní, dokud se všechny databáze úspěšně nezzálohují. |
Čas spuštění úplného zálohování | 00:00 – 23:00 (01:00) | Počáteční čas daného dne, během kterého se můžou provádět úplné zálohy. |
Časové období ú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ěhnout úplné zálohování. |
Frekvence zálohování protokolů | 5 – 60 minut (60 minut) | Frekvence zálohování protokolů |
Poznámka:
Plán automatizovaného zálohování provádí zálohy na základě růstu protokolu. Použití automatizovaných záloh v případě, že jsou databáze v jednoduchém režimu obnovení, se nedoporučuje.
Vysvětlení úplné frekvence zálohování
Je důležité pochopit rozdíl mezi denním a týdenním úplným zálohováním. Podívejte se na následující dva ukázkové scénáře.
Scénář 1: Týdenní zálohování
Máte virtuální počítač s SQL Serverem, který obsahuje řadu velkých databází.
V pondělí povolíte automatizované zálohování s následujícím nastavením:
- 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é období úplného zálohování: 1 hodina
To znamená, že další dostupné okno zálohování je úterý v 1:00 po dobu 1 hodiny. V té době automatizované zálohování začne zálohovat databáze po jednom. V tomto scénáři jsou vaše databáze dostatečně velké, aby se úplné zálohování dokončilo pro první pár databází. Po jedné hodině se ale nezálohovaly všechny databáze.
Když k tomu dojde, automatizované zálohování začne zálohovat zbývající databáze následující den ve středu v 1:00 po dobu jedné hodiny. Pokud se v té době nezálohovaly všechny databáze, zkusí to znovu další den ve stejnou dobu. To pokračuje, dokud se všechny databáze úspěšně nezzálohují.
Po opětovném dosažení úterý začne automatizované zálohování znovu zálohovat všechny databáze.
Tento scénář ukazuje, že automatizované zálohování funguje jenom v zadaném časovém intervalu a každá databáze se zálohuje jednou týdně. To také ukazuje, že zálohování může trvat 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í počítač s SQL Serverem, který obsahuje řadu velkých databází.
V pondělí povolíte automatizované zálohování 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
- Časové období úplného zálohování: 6 hodin
To znamená, že další dostupné okno zálohování je pondělí v 10:00 po dobu 6 hodin. V té době automatizované zálohování začne zálohovat databáze po jednom.
Pak v úterý v 10 po dobu 6 hodin začnou úplné zálohy všech databází znovu.
Důležité
Během každého intervalu dochází k postupnému zálohování. Pro instance s velkým počtem databází naplánujte interval zálohování s dostatečným časem, aby vyhovovaly všem zálohám. Pokud se zálohy v daném intervalu nedokončí, můžou se některé zálohy přeskočit a doba mezi zálohami pro jednu databázi může být vyšší než nakonfigurovaná doba intervalu zálohování, což může negativně ovlivnit cíl bodu obnovení (RPO).
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 počítače s SQL Serverem 2016 nebo novějším v modelu nasazení Resource Manager.
Na kartě Nastavení SQL Serveru vyberte Možnost Povolit v části Automatizované zálohování. Když povolíte automatizované zálohování, můžete nakonfigurovat následující nastavení:
- Doba uchovávání záloh (až 90 dnů)
- Účet úložiště a kontejner úložiště, které se mají použít pro zálohy
- Možnost šifrování a heslo pro zálohování
- Zálohování systémových databází
- Konfigurování plánu zálohování
Pokud chcete zálohování zašifrovat, vyberte Povolit. Pak zadejte heslo. Azure vytvoří certifikát pro šifrování záloh a používá zadané heslo k ochraně tohoto certifikátu.
Zvolte Vybrat kontejner úložiště a určete kontejner, do kterého chcete ukládat zálohy.
Ve výchozím nastavení je plán nastavený automaticky, ale můžete si vytvořit vlastní plán výběrem možnosti Ručně, což vám umožní nakonfigurovat frekvenci zálohování, časový interval zálohování a frekvenci zálohování protokolů v minutách.
Následující snímek obrazovky webu Azure Portal znázorňuje nastavení automatizovaného zálohování při vytváření nového virtuálního počítače s SQL Serverem:
Konfigurace existujících virtuálních počítačů
U existujících virtuálních počítačů s SQL Serverem přejděte do prostředku virtuálních počítačů SQL a pak vyberte Zálohování a nakonfigurujte automatizované zálohy.
Vyberte Povolit a nakonfigurujte nastavení automatizovaného zálohování.
Můžete nakonfigurovat dobu uchovávání (až 90 dní), kontejner pro účet úložiště, do kterého chcete ukládat zálohy, a také šifrování a plán zálohování. Ve výchozím nastavení je plán automatizovaný.
Pokud chcete nastavit vlastní plán zálohování, zvolte Ruční a nakonfigurujte frekvenci zálohování, ať už chcete zálohovat systémové databáze, a interval zálohování transakčních protokolů v minutách.
Až budete hotovi, vyberte tlačítko Použít v dolní části stránky Nastavení zálohování a uložte provedené změny.
Pokud automatické zálohování povolujete poprvé, Azure na pozadí nakonfiguruje agenta SQL Serveru 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í.
Konfigurace pomocí PowerShellu
Ke konfiguraci automatizovaného zálohování můžete použít PowerShell. Než začnete, musíte:
- Stáhněte a nainstalujte nejnovější Azure PowerShell.
- Otevřete Windows PowerShell a přidružte ho k účtu pomocí příkazu Connect-AzAccount .
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 rozšíření SQL Server IaaS
Pokud jste zřídili virtuální počítač s SQL Serverem z webu Azure Portal, rozšíření SQL Server IaaS by už mělo být nainstalované. To, jestli je pro váš virtuální počítač nainstalovaný, můžete určit voláním příkazu Get-AzVM a prozkoumáním vlastnosti Extensions .
$vmname = "yourvmname"
$resourcegroupname = "yourresourcegroupname"
(Get-AzVM -Name $vmname -ResourceGroupName $resourcegroupname).Extensions
Pokud je nainstalované rozšíření agenta SQL Server IaaS, měli byste ho vidět v seznamu SqlIaaSAgent nebo SQLIaaSExtension. ProvisioningState pro rozšíření by se měl zobrazit také "Úspěch".
Pokud není nainstalovaný nebo se nepodařilo 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 nachází váš virtuální počítač.
$region = "EASTUS2"
Set-AzVMSqlServerExtension -VMName $vmname `
-ResourceGroupName $resourcegroupname -Name "SQLIaasExtension" `
-Version "2.0" -Location $region
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 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 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ů. Jsou povoleny zálohy systémových databází. Úplné zálohování je naplánováno na každou sobotu (týdně) s časovým intervalem od 20:00 po dobu dvou hodin. Zálohování protokolů se plánuje každých 30 minut.
Update-AzSqlVM -ResourceGroupName $resourcegroupname -Name $vmname -AutoBackupSettingEnable `
-AutoBackupSettingBackupScheduleType Manual `
-AutoBackupSettingFullBackupFrequency Weekly
-AutoBackupSettingDaysOfWeek Saturday `
-AutoBackupSettingFullBackupStartTime 20 `
-AutoBackupSettingFullBackupWindowHour 2 `
-AutoBackupSettingStorageAccessKey $accesskey `
-AutoBackupSettingStorageAccountUrl $storage_url `
-AutoBackupSettingRetentionPeriod 10 `
-AutoBackupSettingLogBackupFrequency 30 `
-AutoBackupSettingStorageContainerName $storage_container `
-AutoBackupSettingBackupSystemDb
Instalace a konfigurace agenta SQL Serveru IaaS může trvat několik minut.
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 `
-AutoBackupSettingBackupScheduleType Manual `
-AutoBackupSettingFullBackupFrequency Weekly `
-AutoBackupSettingDaysOfWeek Saturday `
-AutoBackupSettingFullBackupStartTime 20 `
-AutoBackupSettingFullBackupWindowHour 2 `
-AutoBackupSettingStorageAccessKey $accesskey `
-AutoBackupSettingStorageAccountUrl $storage_url `
-AutoBackupSettingRetentionPeriod 10 `
-AutoBackupSettingLogBackupFrequency 30 `
-AutoBackupSettingEnableEncryption `
-AutoBackupSettingPassword $encryptionpassword `
-AutoBackupSettingStorageContainerName $storage_container `
-AutoBackupSettingBackupSystemDb
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
$backupscheduletype = "Manual"
$fullbackupfrequency = "Weekly"
$fullbackupdayofweek = "Saturday"
$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 $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 `
-AutoBackupSettingBackupScheduleType $backupscheduletype `
-AutoBackupSettingFullBackupFrequency $fullbackupfrequency `
-AutoBackupSettingDaysOfWeek $fullbackupdayofweek `
-AutoBackupSettingFullBackupStartTime $fullbackupstarthour `
-AutoBackupSettingFullBackupWindowHour $fullbackupwindow `
-AutoBackupSettingStorageAccessKey $accesskey `
-AutoBackupSettingStorageAccountUrl $storage_url `
-AutoBackupSettingRetentionPeriod $retentionperiod `
-AutoBackupSettingLogBackupFrequency $logbackupfrequency `
-AutoBackupSettingStorageContainerName $storage_container `
-AutoBackupSettingBackupSystemDb
Zálohování pomocí šifrovacích certifikátů
Pokud se rozhodnete zašifrovat zálohy, vygeneruje se šifrovací certifikát a uloží se do stejného účtu úložiště jako zálohy. V tomto scénáři budete také muset zadat heslo, které se použije k ochraně šifrovacích certifikátů používaných k šifrování a dešifrování záloh. Díky tomu si nemusíte dělat starosti se zálohováním nad rámec konfigurace této funkce a také zajistíte, že budou vaše zálohy zabezpečené.
Pokud je povolené šifrování zálohování, důrazně doporučujeme zjistit, jestli se šifrovací certifikát úspěšně vytvořil a nahrál, aby se zajistila obnovitelnost vašich databází. Můžete to udělat tak, že vytvoříte databázi hned a zkontrolujete, jestli se šifrovací certifikáty a data zálohovala do nově vytvořeného kontejneru správně. Zobrazí se, že všechno bylo správně nakonfigurované a neproběhla žádná anomálie.
Pokud se certifikát z nějakého důvodu nepodařilo nahrát, můžete certifikát vyexportovat a uložit pomocí správce certifikátů. Nechcete ho ale uložit na stejný virtuální počítač, protože to nezajistí, že máte přístup k certifikátu, když je virtuální počítač dole. Pokud chcete zjistit, jestli se certifikát po změně nebo vytvoření konfigurace automatizovaného zálohování správně zálohoval, můžete zkontrolovat protokoly událostí na virtuálním počítači a pokud se nezdařilo, zobrazí se tato chybová zpráva:
Pokud se certifikáty zálohovaly správně, zobrazí se tato zpráva v protokolech událostí:
Obecně se doporučuje zkontrolovat stav záloh od času. Aby bylo možné obnovit zálohy, měli byste udělat toto:
Ověřte, že se vaše šifrovací certifikáty zálohovaly a že si heslo zapamatujete. Pokud to neuděláte, nebudete moct zálohy dešifrovat a obnovit. Pokud z nějakého důvodu vaše certifikáty nebyly správně zálohované, můžete to provést ručně spuštěním následujícího dotazu T-SQL:
BACKUP MASTER KEY TO FILE = <file_path> ENCRYPTION BY PASSWORD = <password> BACKUP CERTIFICATE [AutoBackup_Certificate] TO FILE = <file_path> WITH PRIVATE KEY (FILE = <file_path>, ENCRYPTION BY PASSWORD = <password>)
Ověřte, že se záložní soubory nahrají s alespoň 1 úplnou zálohou. Protože dojde k chybám, měli byste mít jistotu, že máte před odstraněním virtuálního počítače vždy alespoň jednu úplnou zálohu, nebo v případě poškození virtuálního počítače, abyste věděli, že máte stále přístup k datům. Před odstraněním datových disků virtuálního počítače byste se měli ujistit, že zálohování v úložišti je bezpečné a obnovitelné.
Sledování
Pokud chcete monitorovat automatizované zálohování na SQL Serveru 2016 a novějším, 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.managed_backup.sp_get_backup_diagnostics. Nebo zadejte dotaz na funkci msdb.managed_backup.fn_get_health_status table-valued.
Další možností je využít integrovanou funkci Databázová pošta pro oznámení.
- Zavoláním uložené procedury msdb.managed_backup.sp_set_parameter přiřadíte e-mailovou adresu k parametru SSMBackup2WANotificationEmailIds.
- Povolte SendGrid, aby se e-maily odesílaly z virtuálního počítače Azure.
- 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ázovou poštu. Další informace najdete v tématu Databázová pošta.
- Nakonfigurujte agenta SQL Serveru tak, aby používal Databázová pošta.
- Ověřte, zda je port SMTP povolen jak přes místní bránu firewall virtuálního počítače, tak přes skupinu zabezpečení sítě pro virtuální počítač.
Známé problémy
Při práci s funkcí automatizovaného zálohování zvažte tyto známé problémy.
Nejde povolit automatizované zálohování na webu Azure Portal
Následující tabulka uvádí možná řešení, pokud máte problémy s povolením automatizovaného zálohování z webu Azure Portal:
Příznaky | Řešení |
---|---|
Povolení automatizovaných záloh selže, pokud je vaše rozšíření IaaS ve stavu selhání | Opravte rozšíření agenta SQL IaaS, pokud je ve stavu selhání. |
Povolení automatizovaného zálohování selže, pokud máte stovky databází | Jedná se o známé omezení rozšíření agenta SQL IaaS. Chcete-li tento problém vyřešit, můžete povolit spravované zálohování přímo místo použití rozšíření agenta SQL IaaS ke konfiguraci automatizovaného zálohování. |
Povolení automatizovaného zálohování selže kvůli problémům s metadaty | Zastavte službu agenta SQL IaaS. Spusťte příkaz T-SQL: use msdb exec autoadmin_metadata_delete . Spusťte službu agenta SQL IaaS a zkuste na webu Azure Portal znovu povolit automatizované zálohování. |
Povolení automatizovaných záloh pro FCI | Zálohování pomocí privátních koncových bodů není podporováno. Pro zálohování použijte úplný identifikátor URI účtu úložiště. |
Zálohování více instancí SQL pomocí automatizovaného zálohování | Automatizované zálohování aktuálně podporuje pouze jednu instanci SQL Serveru. Pokud máte více pojmenovaných instancí a výchozí instanci, automatizované zálohování funguje s výchozí instancí. Pokud máte více pojmenovaných instancí a nemáte výchozí instanci, zapnutí automatizovaného zálohování selže. |
Automatizované zálohování nejde povolit kvůli účtu a oprávněním | Zkontrolujte následující: – Agent SQL Serveru je spuštěný. – Účet NT Service\SqlIaaSExtensionQuery má správná oprávnění pro funkci automatizovaného zálohování v rámci SQL Serveru i pro prostředek virtuálních počítačů SQL na webu Azure Portal. – Účet SA se nepřejmenoval, ale zakázání je přijatelné. |
Automatizované zálohování selže pro SQL 2016 + | Možnost Povolit veřejný přístup k objektům blob je povolená v účtu úložiště. To poskytuje dočasné alternativní řešení známého problému. |
Běžné problémy s automatizovaným nebo spravovaným zálohováním
Následující tabulka uvádí možné chyby a řešení při práci s automatizovanými zálohami:
Příznaky | Řešení |
---|---|
Automatizované nebo spravované zálohování selhalo kvůli chybám připojení k účtu úložiště nebo chybám časového limitu | Zkontrolujte, že skupina zabezpečení sítě (NSG) pro virtuální síť a brána Windows Firewall neblokuje odchozí připojení z virtuálního počítače k účtu úložiště na portu 443. |
Automatizované nebo spravované zálohování selhalo kvůli zatížení paměti nebo vstupně-výstupních operací | Zjistěte, jestli můžete zvýšit maximální velikost paměti serveru nebo změnit velikost disku nebo virtuálního počítače, pokud dochází k limitům vstupně-výstupních operací nebo virtuálních počítačů. Pokud používáte skupinu dostupnosti, zvažte přesměrování zálohování na sekundární repliku. |
Automatizované zálohování selže po přejmenování serveru | Pokud jste přejmenovali název hostitele počítače, musíte název hostitele přejmenovat také na SQL Serveru. |
Chyba: Operace selhala kvůli vnitřní chybě. Argument nesmí být prázdný řetězec.\r\nParameter name: token SAS opakujte akci později. | Příčinou je pravděpodobně to, že služba agenta SQL Serveru nemá správná oprávnění k zosobnění. Pokud chcete tento problém vyřešit, změňte službu agenta SQL Serveru tak, aby používala jiný účet. |
Chyba: Spravované zálohování SQL Serveru do Microsoft Azure nemůže pro instanci SQL Serveru nakonfigurovat výchozí nastavení zálohování kvůli neplatné adrese URL kontejneru. Také je možné, že jsou neplatné přihlašovací údaje SAS. | Tato chyba se může zobrazit, pokud máte velký počet databází. Používejte spravované zálohování místo automatizovaného zálohování. |
Úloha automatizovaného zálohování selhala po restartování virtuálního počítače | Zkontrolujte, jestli je služba agenta SQL spuštěná a spuštěná. |
Spravované zálohování přerušovaně selhává / Chyba: Vypršel časový limit spuštění. | Toto je známý problém opravený v CU18 pro SQL Server 2019 a [KB4040376] pro SQL Server 2014–2017. |
Chyba: Vzdálený server vrátil chybu: (403) Zakázáno | Opravte rozšíření agenta SQL IaaS. |
Chyba 3202: Zápis do účtu úložiště selhal 13 (data jsou neplatná) | Odeberte neměnné zásady objektu blob v kontejneru úložiště a ujistěte se, že účet úložiště používá minimálně protokol TLS 1.0. |
Chyba 3063: Zápis do zálohovacího zařízení objektů blob bloku Zařízení dosáhlo svého limitu povolených bloků. | K tomu může dojít v případě, že spouštíte automatizované zálohy ze sekundární repliky skupiny dostupnosti AlwaysOn, která má nastavenou Readable NO konfiguraci . Aby automatizované zálohy fungovaly na sekundární replice, musí být replika čitelná. |
Nejde naplánovat zálohování na konkrétní den | Pokud používáte automatizované zálohy pro SQL Server 2014, očekává se to. Plán zálohování můžete nakonfigurovat od SQL Serveru 2016. |
Zakázání automatizovaného zálohování nebo spravovaného zálohování selže
Následující tabulka uvádí možná řešení, pokud máte problémy se zákazem automatizovaného zálohování z webu Azure Portal:
Příznaky | Řešení |
---|---|
Zákaz automatizovaného zálohování selže, pokud je rozšíření IaaS ve stavu selhání. | Opravte rozšíření agenta SQL IaaS, pokud je ve stavu selhání. |
Zakázání automatizovaného zálohování selže kvůli problémům s metadaty | Zastavte službu agenta SQL IaaS. Spusťte příkaz T-SQL: use msdb exec autoadmin_metadata_delete . Spusťte službu agenta SQL Iaas a zkuste zakázat automatizované zálohování z webu Azure Portal. |
Automatizované zálohování nejde zakázat kvůli účtu a oprávněním | Zkontrolujte následující: – Agent SQL Serveru je spuštěný. – Účet NT Service\SqlIaaSExtensionQuery má správná oprávnění pro funkci automatizovaného zálohování v rámci SQL Serveru i pro prostředek virtuálních počítačů SQL na webu Azure Portal. – Účet SA se nepřejmenoval, ale zakázání je přijatelné. |
Chci zjistit, která služba nebo aplikace provádí zálohování SQL Serveru
- V aplikaci SQL Server Management Studio (SSMS) Průzkumník objektů klikněte pravým tlačítkem myši na databázi > Vybrat> standardní sestavy zálohování>a obnovení událostí. V sestavě můžete rozbalit část Úspěšné operace zálohování a zobrazit historii zálohování.
- Pokud se v Azure nebo virtuálním zařízení zobrazí více záloh, zkontrolujte, jestli k zálohování jednotlivých databází SQL používáte Službu Azure Backup , nebo pořízení snímku virtuálního počítače do virtuálního zařízení, které používá
NT Authority/SYSTEM
tento účet. Pokud ne, zkontrolujte konzolu služeb systému Windows (services.msc) a zjistěte, které aplikace třetích stran můžou zálohovat.
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í , abyste pochopili chování a důsledky.
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.