Správa Azure SQL Database dlouhodobého uchovávání zálohManage Azure SQL Database long-term backup retention

V Azure SQL Database můžete nakonfigurovat jednu nebo sdruženou databázi s dlouhodobou zásadou uchovávání záloh (LTR) a automaticky tak uchovávat zálohy databáze v samostatných kontejnerech úložiště Azure Blob po dobu až 10 let.In Azure SQL Database, you can configure a single or a pooled database with a long-term backup retention policy (LTR) to automatically retain the database backups in separate Azure Blob storage containers for up to 10 years. Pak můžete databázi pomocí těchto záloh obnovit pomocí Azure Portal nebo PowerShellu.You can then recover a database using these backups using the Azure portal or PowerShell.

Důležité

Azure SQL Database Managed instance v současné době nepodporuje dlouhodobé uchovávání záloh.Azure SQL database managed instance does not currently support long-term backup retention.

Pomocí webu Azure PortalUsing Azure portal

V následujících částech se dozvíte, jak použít Azure Portal ke konfiguraci dlouhodobého uchovávání, zobrazení záloh v dlouhodobém uchovávání a obnovení zálohy z dlouhodobého uchovávání.The following sections show you how to use the Azure portal to configure the long-term retention, view backups in long-term retention, and restore backup from long-term retention.

Konfigurace dlouhodobých zásad uchovávání informacíConfigure long-term retention policies

Můžete nakonfigurovat SQL Database pro uchovávání automatizovaných záloh po dobu delší, než je doba uchování pro vaši úroveň služeb.You can configure SQL Database to retain automated backups for a period longer than the retention period for your service tier.

  1. V Azure Portal vyberte svůj SQL Server a pak klikněte na Spravovat zálohy.In the Azure portal, select your SQL server and then click Manage Backups. Na kartě Konfigurovat zásady zaškrtněte políčko pro databázi, ve které chcete nastavit nebo upravit dlouhodobé zásady uchovávání záloh.On the Configure policies tab, select the checkbox for the database on which you want to set or modify long-term backup retention policies. Pokud není zaškrtnuté políčko vedle databáze, změny zásad se na tuto databázi nevztahují.If the checkbox next to the database is not selected, the changes for the policy will not apply to that database.

    odkaz Správa zálohování

  2. V podokně Konfigurovat zásady vyberte, pokud chcete uchovávat týdenní, měsíční nebo roční zálohy a určete dobu uchování pro každou z nich.In the Configure policies pane, select if want to retain weekly, monthly or yearly backups and specify the retention period for each.

    Konfigurace zásad

  3. Po dokončení klikněte na použít.When complete, click Apply.

Důležité

Pokud povolíte dlouhodobé zásady uchovávání záloh, může trvat až 7 dní, než se první záloha zobrazí a bude dostupná pro obnovení.When you enable a long-term backup retention policy, it may take up to 7 days for the first backup to become visible and available to restore. Podrobnosti o Cadance zálohování LTR najdete v tématu dlouhodobé uchovávání záloh.For details of the LTR backup cadance, see long-term backup retention.

Zobrazení záloh a obnovení ze zálohyView backups and restore from a backup

Prohlédněte si zálohy, které jsou uchovány pro určitou databázi se zásadou LTR, a obnovte je z těchto záloh.View the backups that are retained for a specific database with a LTR policy, and restore from those backups.

  1. V Azure Portal vyberte svůj SQL Server a pak klikněte na Spravovat zálohy.In the Azure portal, select your SQL server and then click Manage Backups. Na kartě dostupné zálohy vyberte databázi, pro kterou chcete zobrazit dostupné zálohy.On the Available backups tab, select the database for which you want to see available backups.

    vybrat databázi

  2. V podokně dostupné zálohy zkontrolujte dostupné zálohy.In the Available backups pane, review the available backups.

    Zobrazit zálohy

  3. Vyberte zálohu, ze které chcete obnovit, a pak zadejte název nové databáze.Select the backup from which you want to restore, and then specify the new database name.

    Obnovení

  4. Kliknutím na OK obnovte databázi ze zálohy ve službě Azure SQL Storage do nové databáze.Click OK to restore your database from the backup in Azure SQL storage to the new database.

  5. Pokud chcete zobrazit stav úlohy obnovení, na panelu nástrojů klikněte na ikonu oznámení.On the toolbar, click the notification icon to view the status of the restore job.

    průběh úlohy obnovení

  6. Po dokončení úlohy obnovení otevřete stránku databáze SQL a zobrazte nově obnovenou databázi.When the restore job is completed, open the SQL databases page to view the newly restored database.

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.From here, you can connect to the restored database using SQL Server Management Studio to perform needed tasks, such as to extract a bit of data from the restored database to copy into the existing database or to delete the existing database and rename the restored database to the existing database name.

Pomocí prostředí PowerShellUsing PowerShell

Poznámka

Tento článek je aktualizovaný a využívá nový modul Az Azure PowerShellu.This article has been updated to use the new Azure PowerShell Az module. Můžete dál využívat modul AzureRM, který bude dostávat opravy chyb nejméně do prosince 2020.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Další informace o kompatibilitě nového modulu Az a modulu AzureRM najdete v tématu Seznámení s novým modulem Az Azure PowerShellu.To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Pokyny k instalaci modulu Az najdete v tématu věnovaném instalaci Azure PowerShellu.For Az module installation instructions, see Install Azure PowerShell.

Důležité

Modul PowerShell Azure Resource Manager je stále podporován Azure SQL Database, ale všechny budoucí vývojové prostředí jsou pro modul AZ. SQL.The PowerShell Azure Resource Manager module is still supported by Azure SQL Database, but all future development is for the Az.Sql module. Tyto rutiny naleznete v tématu AzureRM. SQL.For these cmdlets, see AzureRM.Sql. Argumenty pro příkazy v modulech AZ a v modulech AzureRm jsou v podstatě identické.The arguments for the commands in the Az module and in the AzureRm modules are substantially identical.

V následujících částech se dozvíte, jak pomocí PowerShellu 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.The following sections show you how to use PowerShell to configure the long-term backup retention, view backups in Azure SQL storage, and restore from a backup in Azure SQL storage.

Role RBAC pro správu dlouhodobého uchováváníRBAC roles to manage long-term retention

Pro Get-AzSqlDatabaseLongTermRetentionBackup a Restore-AzSqlDatabasebudete muset mít jednu z následujících rolí:For Get-AzSqlDatabaseLongTermRetentionBackup and Restore-AzSqlDatabase, you will need to have one of the following roles:

  • Role vlastníka předplatného neboSubscription Owner role or

  • SQL Server role přispěvatele neboSQL Server Contributor role or

  • Vlastní role s následujícími oprávněními:Custom role with the following permissions:

    Microsoft. SQL/Locations/longTermRetentionBackups/Read Microsoft. SQL/Locations/longTermRetentionServers/longTermRetentionBackups/Read Microsoft. SQL/Locations/longTermRetentionServers/longTermRetentionDatabases/ longTermRetentionBackups/čístMicrosoft.Sql/locations/longTermRetentionBackups/read Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionBackups/read Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups/read

V případě funkce Remove-AzSqlDatabaseLongTermRetentionBackupbudete muset mít jednu z následujících rolí:For Remove-AzSqlDatabaseLongTermRetentionBackup, you will need to have one of the following roles:

  • Role vlastníka předplatného neboSubscription Owner role or

  • Vlastní role s následujícím oprávněním:Custom role with the following permission:

    Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups/deleteMicrosoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups/delete

Poznámka

Role Přispěvatel SQL Server nemá oprávnění odstraňovat zálohy LTR.The SQL Server Contributor role does not have permission to delete LTR backups.

Oprávnění RBAC se mohla udělit buď v rámci předplatného , nebo v oboru skupiny prostředků .RBAC permissions could be granted in either subscription or resource group scope. Pro přístup k zálohám LTR, které patří k vyřazenému serveru, ale musí být oprávnění uděleno v oboru předplatného daného serveru.However, to access LTR backups that belong to a dropped server, the permission must be granted in the subscription scope of that server.

  • Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups/deleteMicrosoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups/delete

Vytvoření zásady LTRCreate an LTR policy

# 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

Zobrazit zásady LTRView LTR policies

Tento příklad ukazuje, jak zobrazit seznam zásad LTR v rámci serveru.This example shows how to list the LTR policies within a server

# get all LTR policies within a server
$ltrPolicies = Get-AzSqlDatabase -ResourceGroupName Default-SQL-WestCentralUS -ServerName trgrie-ltr-server | `
    Get-AzSqlDatabaseLongTermRetentionPolicy -Current

# get the LTR policy of a specific database
$ltrPolicies = Get-AzSqlDatabaseBackupLongTermRetentionPolicy -ServerName $serverName -DatabaseName $dbName `
    -ResourceGroupName $resourceGroup -Current

Vymazat zásadu LTRClear an LTR policy

Tento příklad ukazuje, jak vymazat zásadu LTR z databáze.This example shows how to clear an LTR policy from a database

Set-AzSqlDatabaseBackupLongTermRetentionPolicy -ServerName $serverName -DatabaseName $dbName `
    -ResourceGroupName $resourceGroup -RemovePolicy

Zobrazit zálohy LTRView LTR backups

Tento příklad ukazuje, jak zobrazit seznam záloh LTR v rámci serveru.This example shows how to list the LTR backups within a server.

# 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

Odstranit zálohy LTRDelete LTR backups

Tento příklad ukazuje, jak odstranit zálohu LTR ze seznamu záloh.This example shows how to delete an LTR backup from the list of backups.

# remove the earliest backup
$ltrBackup = $ltrBackups[0]
Remove-AzSqlDatabaseLongTermRetentionBackup -ResourceId $ltrBackup.ResourceId

Důležité

Odstranění zálohy LTR je nevratné.Deleting LTR backup is non-reversible. Pokud chcete odstranit zálohu LTR po odstranění serveru, musíte mít oprávnění k oboru předplatného.To delete an LTR backup after the server has been deleted you must have Subscription scope permission. Můžete nastavit oznámení o každém odstranění v Azure Monitor filtrováním pro operaci odstraní zálohu pro dlouhodobé uchovávání.You can set up notifications about each delete in Azure Monitor by filtering for operation ‘Deletes a long term retention backup’. Protokol aktivit obsahuje informace o tom, kdo a kdy žádost odeslal.The activity log contains information on who and when made the request. Podrobné pokyny najdete v tématu vytvoření výstrah protokolu aktivit .See Create activity log alerts for detailed instructions.

Obnovení ze zálohy LTRRestore from LTR backups

Tento příklad ukazuje, jak obnovit ze zálohy LTR.This example shows how to restore from an LTR backup. Všimněte si, že toto rozhraní se nezměnilo, ale parametr ID prostředku teď vyžaduje ID záložního prostředku LTR.Note, this interface did not change but the resource id parameter now requires the LTR backup resource id.

# 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é

Pro obnovení ze zálohy LTR po odstranění serveru musíte mít oprávnění oboru pro předplatné serveru a předplatné musí být aktivní.To restore from an LTR backup after the server has been deleted, you must have permissions scoped to the server's subscription and that subscription must be active. Je také nutné vynechat volitelný parametr-ResourceGroupName.You must also omit the optional -ResourceGroupName parameter.

Poznámka

Odtud se můžete připojit k obnovené databázi pomocí SQL Server Management Studio a provést potřebné úkoly, jako je například extrakce dat z obnovené databáze pro zkopírování do existující databáze nebo odstranění existující databáze a přejmenování obnovené databáze k názvu existující databáze.From here, you can connect to the restored database using SQL Server Management Studio to perform needed tasks, such as to extract a bit of data from the restored database to copy into the existing database or to delete the existing database and rename the restored database to the existing database name. Viz Obnovení bodu v čase.See point in time restore.

Další krokyNext steps