Pomocí Služby Azure SQL Database můžete nastavit zásady dlouhodobého uchovávání záloh (LTR), které automaticky uchovávají zálohy v samostatných kontejnerech azure Blob Storage po dobu až 10 let. Databázi pak můžete obnovit pomocí těchto záloh pomocí webu Azure Portal, Azure CLI nebo PowerShellu.
Pokud dáváte přednost místnímu spouštění referenčních příkazů rozhraní příkazového řádku, nainstalujte Azure CLI. Pokud používáte Windows nebo macOS, zvažte spuštění Azure CLI v kontejneru Docker. Další informace najdete v tématu Jak spustit Azure CLI v kontejneru Dockeru.
Pokud používáte místní instalaci, přihlaste se k Azure CLI pomocí příkazu az login. Pokud chcete dokončit proces ověřování, postupujte podle kroků zobrazených na terminálu. Další možnosti přihlášení najdete v tématu Přihlášení pomocí Azure CLI.
Po zobrazení výzvy nainstalujte rozšíření Azure CLI při prvním použití. Další informace o rozšířeních najdete v tématu Využití rozšíření v Azure CLI.
Spuštěním příkazu az version zjistěte verzi a závislé knihovny, které jsou nainstalované. Pokud chcete upgradovat na nejnovější verzi, spusťte az upgrade.
Připravte prostředí pro PowerShell.
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.
Důležité
Azure SQL Database stále podporuje modul Azure Resource Manageru v PowerShellu, ale veškerý budoucí vývoj je určený pro modul Az.Sql. Tyto rutiny najdete v tématu AzureRM.Sql. Argumenty pro příkazy v modulu Az a v modulech AzureRm jsou podstatně identické.
Pro Get-AzSqlDatabaseLongTermRetentionBackup a Restore-AzSqlDatabase, musíte být členem jedné z následujících rolí:
Role Přispěvatel SQL Serveru nemá oprávnění k odstranění záloh LTR.
Oprávnění řízení přístupu na základě role v Azure (RBAC) je možné udělit v oboru předplatného nebo skupiny prostředků. Pokud ale chcete získat přístup k zálohám LTR, které patří do vyřazeného serveru, musí být toto oprávnění uděleno v oboru předplatného daného serveru:
Službu SQL Database můžete nakonfigurovat tak, aby uchovála automatizované zálohy po dobu delší než doba uchovávání pro vaši úroveň služby.
Na webu Azure Portal přejděte na svůj server a pak vyberte Zálohování. Vyberte kartu Zásady uchovávání informací a upravte nastavení uchovávání záloh.
Na kartě Zásady uchovávání informací vyberte databáze, u kterých chcete nastavit nebo upravit zásady dlouhodobého uchovávání záloh. Nevybrané databáze nebudou ovlivněny.
V podokně Konfigurovat zásady zadejte požadované období uchovávání týdenních, měsíčních nebo ročních záloh. Zvolte dobu uchovávání 0, abyste označili, že by se nemělo nastavit dlouhodobé uchovávání záloh.
Pokud chcete použít vybraná nastavení uchovávání informací pro všechny vybrané databáze, vyberte Použít .
Důležité
Když povolíte zásady dlouhodobého uchovávání záloh, může trvat až 7 dní, než se první záloha zobrazí a zpřístupní k obnovení. Podrobnosti o tempu zálohování LTR najdete v tématu dlouhodobé uchovávání záloh.
Spuštěním příkazu az sql db ltr-policy set vytvořte zásadu LTR. Následující příklad nastaví zásady dlouhodobého uchovávání po dobu 12 týdnů pro týdenní zálohování.
az sql db ltr-policy set \
--resource-group mygroup \
--server myserver \
--name mydb \
--weekly-retention "P12W"
Tento příklad nastaví zásadu uchovávání informací na 12 týdnů pro týdenní zálohování, 5 let pro roční zálohování a týden od 15. dubna, ve kterém se má roční zálohování LTR provést.
az sql db ltr-policy set \
--resource-group mygroup \
--server myserver \
--name mydb \
--weekly-retention "P12W" \
--yearly-retention "P5Y" \
--week-of-year 16
# get the SQL server
$subId = "<subscriptionId>"
$serverName = "<serverName>"
$resourceGroup = "<resourceGroupName>"
$dbName = "<databaseName>"
Connect-AzAccount
Select-AzSubscription -SubscriptionId $subId
$server = Get-AzSqlServer -ServerName $serverName -ResourceGroupName $resourceGroup
# create LTR policy with WeeklyRetention = 12 weeks. MonthlyRetention and YearlyRetention = 0 by default.
Set-AzSqlDatabaseBackupLongTermRetentionPolicy -ServerName $serverName -DatabaseName $dbName `
-ResourceGroupName $resourceGroup -WeeklyRetention P12W
# create LTR policy with WeeklyRetention = 12 weeks, YearlyRetention = 5 years and WeekOfYear = 16 (week of April 15). MonthlyRetention = 0 by default.
Set-AzSqlDatabaseBackupLongTermRetentionPolicy -ServerName $serverName -DatabaseName $dbName `
-ResourceGroupName $resourceGroup -WeeklyRetention P12W -YearlyRetention P5Y -WeekOfYear 16
Zobrazení záloh a obnovení ze zálohy
Prohlédněte si zálohy, které jsou zachovány pro konkrétní databázi pomocí zásad LTR, a obnovte je z těchto záloh.
Na webu Azure Portal přejděte na svůj server a pak vyberte Zálohování. Pokud chcete zobrazit dostupné zálohy LTR pro konkrétní databázi, vyberte spravovat ve sloupci Dostupné zálohy LTR. Zobrazí se podokno se seznamem dostupných záloh LTR pro vybranou databázi.
V podokně Dostupných záloh LTR, které se zobrazí, zkontrolujte dostupné zálohy. Vyberte zálohu, ze které chcete provést obnovení.
Pokud chcete provést obnovení z dostupné zálohy LTR, vyberte zálohu, ze které chcete provést obnovení, a pak vyberte Obnovit.
Zvolte název nové databáze a pak vyberte Zkontrolovat a vytvořit , abyste zkontrolovali podrobnosti o obnovení. Výběrem možnosti Vytvořit obnovíte databázi ze zvolené zálohy.
Na panelu nástrojů vyberte ikonu oznámení a zobrazte stav úlohy obnovení.
Po dokončení úlohy obnovení otevřete stránku databáze SQL a zobrazte nově obnovenou databázi.
az sql db ltr-policy show \
--resource-group mygroup \
--server myserver \
--name mydb
Zobrazení záloh LTR
Pomocí příkazu az sql db ltr-backup list zobrazte seznam záloh LTR pro databázi. Tento příkaz můžete použít k vyhledání parametru name pro použití v jiných příkazech.
az sql db ltr-backup list \
--location eastus2 \
--server myserver \
--database mydb
az sql db ltr-backup restore \
--dest-database targetdb \
--dest-server myserver \
--dest-resource-group mygroup \
--backup-id $get_backup_id
Důležité
Pokud chcete provést obnovení ze zálohy LTR po odstranění serveru nebo skupiny prostředků, musíte mít oprávnění vymezená na předplatné serveru a toto předplatné musí být aktivní. Musíte také vynechat volitelný parametr -ResourceGroupName.
Poznámka:
Odtud se můžete připojit k obnovené databázi pomocí aplikace SQL Server Management Studio k provádění potřebných úloh, jako je prohození databáze. Viz obnovení k určitému bodu v čase.
Zobrazení zásad LTR
Tento příklad ukazuje, jak vypsat zásady LTR na serveru.
# get all LTR policies within a server
$ltrPolicies = Get-AzSqlDatabase -ResourceGroupName $resourceGroup -ServerName $serverName | `
Get-AzSqlDatabaseLongTermRetentionPolicy
# get the LTR policy of a specific database
$ltrPolicies = Get-AzSqlDatabaseBackupLongTermRetentionPolicy -ServerName $serverName -DatabaseName $dbName `
-ResourceGroupName $resourceGroup
Vymazání zásad LTR
Tento příklad ukazuje, jak vymazat zásadu LTR z databáze.
Tento příklad ukazuje, jak vypsat zálohy LTR na serveru.
# get the list of all LTR backups in a specific Azure region
# backups are grouped by the logical database id, within each group they are ordered by the timestamp, the earliest backup first
$ltrBackups = Get-AzSqlDatabaseLongTermRetentionBackup -Location $server.Location
# get the list of LTR backups from the Azure region under the named server
$ltrBackups = Get-AzSqlDatabaseLongTermRetentionBackup -Location $server.Location -ServerName $serverName
# get the LTR backups for a specific database from the Azure region under the named server
$ltrBackups = Get-AzSqlDatabaseLongTermRetentionBackup -Location $server.Location -ServerName $serverName -DatabaseName $dbName
# list LTR backups only from live databases (you have option to choose All/Live/Deleted)
$ltrBackups = Get-AzSqlDatabaseLongTermRetentionBackup -Location $server.Location -DatabaseState Live
# only list the latest LTR backup for each database
$ltrBackups = Get-AzSqlDatabaseLongTermRetentionBackup -Location $server.Location -ServerName $serverName -OnlyLatestPerDatabase
Obnovení ze záloh LTR
Tento příklad ukazuje, jak provést obnovení ze zálohy LTR. Všimněte si, že toto rozhraní se nezměnilo, ale parametr ID prostředku teď vyžaduje ID prostředku zálohování LTR.
# restore a specific LTR backup as an P1 database on the server $serverName of the resource group $resourceGroup
Restore-AzSqlDatabase -FromLongTermRetentionBackup -ResourceId $ltrBackup.ResourceId -ServerName $serverName -ResourceGroupName $resourceGroup `
-TargetDatabaseName $dbName -ServiceObjectiveName P1
Důležité
Pokud chcete provést obnovení ze zálohy LTR po odstranění serveru nebo skupiny prostředků, musíte mít oprávnění vymezená na předplatné serveru a toto předplatné musí být aktivní. Musíte také vynechat volitelný parametr -ResourceGroupName.
Pokud ke splnění požadavků na dodržování předpisů nebo jiných důležitých požadavků používáte zálohy LTR, zvažte provedení pravidelných postupů obnovení, abyste ověřili, že je možné obnovit zálohy LTR a že obnovení vede k očekávanému stavu databáze.
Poznámka:
Odtud se můžete pomocí aplikace SQL Server Management Studio připojit k obnovené databázi a provádět požadované úlohy, jako je například extrakce části dat z obnovené databáze a zkopírování do existující databáze nebo odstranění existující databáze a přejmenování obnovené databáze na název existující databáze. Viz obnovení k určitému bodu v čase.
Odstranění záloh LTR
Odstraňte zálohy, které se uchovávají pro konkrétní databázi pomocí zásad LTR.
Důležité
Odstranění zálohy LTR je nevratné. Pokud chcete odstranit zálohu LTR po odstranění serveru, musíte mít oprávnění oboru předplatného. Oznámení o každém odstranění ve službě Azure Monitor můžete nastavit tak, že vyfiltrujete operaci Odstranění dlouhodobého uchovávání záloh. Protokol aktivit obsahuje informace o tom, kdo a kdy požadavek provedl. Podrobné pokyny najdete v tématu Vytvoření upozornění protokolu aktivit.
Na webu Azure Portal přejděte na logický server služby Azure SQL Database.
Vyberte Zálohy. Pokud chcete zobrazit dostupné zálohy LTR pro konkrétní databázi, vyberte spravovat ve sloupci Dostupné zálohy LTR. Zobrazí se podokno se seznamem dostupných záloh LTR pro vybranou databázi.
V podokně Dostupných záloh LTR, které se zobrazí, zkontrolujte dostupné zálohy. Vyberte zálohu, která se má odstranit. Vyberte Odstranit.
Pokud používáte zálohy LTR ke splnění požadavků na dodržování předpisů nebo jiné důležité požadavky:
Pomocí portálu, Azure CLI nebo PowerShellu ověřte, že se zálohy LTR provádějí podle nakonfigurovaných zásad. Postupujte podle kroků uvedených v části Zobrazení záloh .
Zvažte provádění pravidelných postupů obnovení, abyste ověřili, že obnovení záloh LTR vede k očekávanému stavu databáze.
Související obsah
Další informace o automatických zálohách generovaných službou najdete u popisu automatických záloh.