Ve službě Azure SQL Managed Instance můžete nakonfigurovat zásady dlouhodobého uchovávání záloh (LTR). Díky tomu můžete automaticky uchovávat zálohy databáze v samostatných kontejnerech úložiště objektů blob v Azure po dobu až 10 let. Databázi pak můžete obnovit pomocí těchto záloh pomocí webu Azure Portal, Azure CLI a PowerShellu.
V následujících částech se dozvíte, jak pomocí webu Azure Portal, PowerShellu a Azure CLI nakonfigurovat dlouhodobé uchovávání záloh, zobrazit zálohy ve službě Azure SQL Storage a obnovit je ze zálohy ve službě Azure SQL Storage.
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 budoucí vývoj se provede v modulu 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-AzSqlInstanceDatabaseLongTermRetentionBackup a Restore-AzSqlInstanceDatabase, musíte být členem jedné z následujících rolí:
Role Přispěvatel spravované instance SQL 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 chcete mít přístup k dlouhodobě uchovávaným zálohám (LTR), které patří odpojené instanci, musíte mít pro danou instanci přístup v rozsahu předplatného.
Na webu Azure Portal vyberte spravovanou instanci a pak vyberte Zálohování. 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. Změny nebudou platit pro žádné databáze, které nejsou nevybrané.
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.
Po dokončení 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.
az sql midb show /
--resource-group mygroup /
--managed-instance myinstance /
--name mymanageddb /
--subscription mysubscription
Spuštěním příkazu az sql midb 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 midb ltr-policy set /
--resource-group mygroup /
--managed-instance myinstance /
--name mymanageddb /
--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.
Pokud chcete zobrazit dostupné dlouhodobé zálohy z webu Azure Portal, postupujte takto:
Na webu Azure Portal vyberte spravovanou instanci a pak vyberte Zálohování. Na kartě Dostupné zálohy vyberte databázi, pro kterou chcete zobrazit dostupné zálohy. Vyberte položku Spravovat.
V podokně Spravovat zálohy zkontrolujte dostupné zálohy.
Z této stránky můžete provést obnovení také tak, že zvolíte zálohu a vyberete Obnovit.
Pokud chcete obnovit zálohu z dlouhodobého uchovávání pomocí webu Azure Portal, postupujte následovně:
Přejděte na cílovou instanci SQL Managed Instance, do které chcete databázi obnovit.
Na stránce Přehled zvolte + Nová databáze a otevřete stránku Vytvořit spravovanou databázi Azure SQL.
Na kartě Základy na stránce Vytvořit spravovanou databázi Azure SQL zadejte podrobnosti o předplatném a skupině prostředků v části Podrobnosti projektu. Potom v části Podrobnosti databáze zadejte nový název databáze, kterou chcete obnovit. Ověřte, že je v rozevíracím seznamu uvedená správná spravovaná instance. Pak vyberte Další: Zdroj dat >
Na kartě Zdroj dat zvolte obnovení k určitému bodu v čase v části Použít existující data. Zadejte předplatné, skupinu prostředků a spravovanou instanci, která obsahuje zdrojovou databázi. V rozevíracím seznamu Spravované databáze zvolte databázi, kterou chcete obnovit, a pak zvolte bod v čase, ze kterého chcete databázi obnovit. Zdrojová a cílová instance můžou být stejné nebo dvě různé instance. Vybrat Další: Další nastavení >
Na kartě Další nastavení můžete zaškrtnout políčko pro dědění zásad uchovávání informací ze zdrojové databáze, případně můžete vybrat Možnost Konfigurovat uchovávání, abyste otevřeli stránku Konfigurovat zásady a nastavili požadované zásady uchovávání informací pro obnovenou databázi. Po dokončení vyberte Zkontrolovat a vytvořit.
Při kontrole a vytvoření vyberte po úspěšném ověření možnost Vytvořit a obnovte databázi.
Tato akce spustí proces obnovení, který vytvoří novou databázi a naplní ji daty z původní databáze v zadaném bodu v čase. Další informace o procesu obnovení naleznete v tématu Doba obnovení.
Pokud chcete provést obnovení odstraněné instance ze zálohy LTR, musíte mít oprávnění k předplatnému dané instance a toto předplatné musí být aktivní.
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.
Zobrazení zásad LTR
Tento příklad ukazuje, jak vypsat zásady LTR v rámci instance pro jednu databázi.
# gets the current version of LTR policy for a database
$LTRPolicy = @{
InstanceName = $instanceName
DatabaseName = $dbName
ResourceGroupName = $resourceGroup
}
Get-AzSqlInstanceDatabaseBackupLongTermRetentionPolicy @LTRPolicy
Tento příklad ukazuje, jak zobrazit seznam zásad LTR pro všechny databáze v instanci.
# gets the current version of LTR policy for all of the databases on an instance
$Databases = Get-AzSqlInstanceDatabase -ResourceGroupName $resourceGroup -InstanceName $instanceName
$LTRParams = @{
InstanceName = $instanceName
ResourceGroupName = $resourceGroup
}
foreach($database in $Databases.Name){
Get-AzSqlInstanceDatabaseBackupLongTermRetentionPolicy @LTRParams -DatabaseName $database
}
Vymazání zásad LTR
Tento příklad ukazuje, jak vymazat zásadu LTR z databáze.
# remove the LTR policy from a database
$LTRPolicy = @{
InstanceName = $instanceName
DatabaseName = $dbName
ResourceGroupName = $resourceGroup
RemovePolicy = $true
}
Set-AzSqlInstanceDatabaseBackupLongTermRetentionPolicy @LTRPolicy
Zobrazení záloh LTR
Tento příklad ukazuje, jak vypsat zálohy LTR v rámci instance.
$instance = Get-AzSqlInstance -Name $instanceName -ResourceGroupName $resourceGroup
# 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
Get-AzSqlInstanceDatabaseLongTermRetentionBackup -Location $instance.Location
# get the list of LTR backups from the Azure region under the given managed instance
$LTRBackupParam = @{
Location = $instance.Location
InstanceName = $instanceName
}
Get-AzSqlInstanceDatabaseLongTermRetentionBackup @LTRBackupParam
# get the LTR backups for a specific database from the Azure region under the given managed instance
$LTRBackupParam = @{
Location = $instance.Location
InstanceName = $instanceName
DatabaseName = $dbName
}
Get-AzSqlInstanceDatabaseLongTermRetentionBackup @LTRBackupParam
# list LTR backups only from live databases (you have option to choose All/Live/Deleted)
$LTRBackupParam = @{
Location = $instance.Location
DatabaseState = 'Live'
}
Get-AzSqlInstanceDatabaseLongTermRetentionBackup @LTRBackupParam
# only list the latest LTR backup for each database
$LTRBackupParam = @{
Location = $instance.Location
InstanceName = $instanceName
OnlyLatestPerDatabase = $true
}
Get-AzSqlInstanceDatabaseLongTermRetentionBackup @LTRBackupParam
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 instance $instanceName of the resource group $resourceGroup
$LTRBackupParam = @{
Location = $instance.Location
InstanceName = $instanceName
DatabaseName = $dbname
OnlyLatestPerDatabase = $true
}
$ltrBackup = Get-AzSqlInstanceDatabaseLongTermRetentionBackup @LTRBackupParam
$RestoreLTRParam = @{
TargetInstanceName = $instanceName
TargetResourceGroupName = $resourceGroup
TargetInstanceDatabaseName = $dbName
FromLongTermRetentionBackup = $true
ResourceId = $ltrBackup.ResourceId
}
Restore-AzSqlInstanceDatabase @RestoreLTRParam
Důležité
Pokud chcete provést obnovení odstraněné instance ze zálohy LTR, musíte mít oprávnění k předplatnému dané instance a toto předplatné musí být aktivní. Musíte také vynechat volitelný parametr -ResourceGroupName.
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í instance, 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 do spravované instance SQL.
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.
Spuštěním příkazu az sql midb ltr-backup list získejte zálohu name.
Tento příklad ukazuje, jak odstranit nejstarší zálohu LTR ze seznamu záloh. Tato ukázka získá seznam záloh LTR pro konkrétní databázi z oblasti Azure v rámci dané spravované instance SQL.
# remove the earliest backup
# get the LTR backups for a specific database from the Azure region under the given SQL managed instance
$LTRBackupParam = @{
Location = $instance.Location
InstanceName = $instanceName
DatabaseName = $dbName
}
$ltrBackups = Get-AzSqlInstanceDatabaseLongTermRetentionBackup @LTRBackupParam
$ltrBackup = $ltrBackups[0]
Remove-AzSqlInstanceDatabaseLongTermRetentionBackup -ResourceId $ltrBackup.ResourceId
Omezení
Zálohy databáze převzaté z instancí nakonfigurovaných pomocí zásad aktualizace SQL Serveru 2022 je možné obnovit do instancí nakonfigurovaných pomocí sql Serveru 2022 nebo vždy aktuálních zásad aktualizace. Zálohy databáze převzaté z instancí nakonfigurovaných pomocí zásad aktualizace Always-up-to-date je možné obnovit pouze do instancí nakonfigurovaných pomocí zásad aktualizace Always-up-to-date.
Další kroky
Informace o automatických zálohách generovaných službou najdete v tématu automatické zálohování.
Další informace o dlouhodobém uchovávání záloh najdete v tématu Dlouhodobé uchovávání záloh.