Sdílet prostřednictvím


Obnovení existujícího vyhrazeného fondu SQL (dříve SQL DW)

V tomto článku se dozvíte, jak obnovit existující vyhrazený fond SQL (dříve SQL DW) pomocí webu Azure Portal a PowerShellu.

Poznámka:

Tyto pokyny platí jenom pro samostatné vyhrazené fondy SQL (dříve SQL DW). Vyhrazené fondy SQL v pracovním prostoru Azure Synapse Analytics najdete v tématu Obnovení existujícího vyhrazeného fondu SQL.

Než začnete

  1. Ověřte kapacitu DTU. Každý fond je hostovaný logickým SQL serverem (napříkladmyserver.database.windows.net), který má výchozí kvótu DTU. Ověřte, že server má dostatečnou kvótu DTU pro obnovení databáze. Další informace o výpočtu potřebných jednotek DTU nebo vyžádání dalších jednotek DTU najdete v tématu Žádost o změnu kvóty DTU.

  2. Nezapomeňte nainstalovat Azure PowerShell.

    Poznámka:

    Při práci s Azure doporučujeme používat modul Azure Az PowerShellu. Začněte tím, že si projdete téma Instalace Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.

  3. Máte existující bod obnovení, ze kterého chcete provést obnovení. Pokud chcete vytvořit nové obnovení, přečtěte si kurz vytvoření nového uživatelem definovaného bodu obnovení.

Obnovení stávajícího vyhrazeného fondu SQL (dříve SQL DW) pomocí prostředí PowerShell

K obnovení existujícího vyhrazeného fondu SQL (dříve SQL DW) z bodu obnovení použijte rutinu PowerShellu Restore-AzSqlDatabase .

  1. Otevřete PowerShell.

  2. Připojení k vašemu účtu Azure a uveďte všechna předplatná přidružená k vašemu účtu.

  3. Vyberte předplatné, které obsahuje databázi, která se má obnovit.

  4. Vypíše body obnovení pro vyhrazený fond SQL (dříve SQL DW).

  5. Pomocí metody RestorePointCreationDate vyberte požadovaný bod obnovení.

  6. Obnovte vyhrazený fond SQL (dříve SQL DW) do požadovaného bodu obnovení pomocí rutiny PowerShellu Restore-AzSqlDatabase .

    1. Pokud chcete obnovit vyhrazený fond SQL (dříve SQL DW) na jiný server, nezapomeňte zadat jiný název serveru. Tento server může být také v jiné skupině prostředků a oblasti.
    2. Pokud chcete provést obnovení do jiného předplatného, přečtěte si následující část.
  7. Ověřte, že obnovený vyhrazený fond SQL (dříve SQL DW) je online.

  8. Po dokončení obnovení můžete po obnovení nakonfigurovat obnovený vyhrazený fond SQL (dříve SQL DW) tak , že po obnovení nakonfigurujete databázi.

    
    $SubscriptionName="<YourSubscriptionName>"
    $ResourceGroupName="<YourResourceGroupName>"
    $ServerName="<YourServerNameWithoutURLSuffixSeeNote>"  # Without database.windows.net
    #$TargetResourceGroupName="<YourTargetResourceGroupName>" # uncomment to restore to a different server.
    #$TargetServerName="<YourtargetServerNameWithoutURLSuffixSeeNote>"  
    $DatabaseName="<YourDatabaseName>"
    $NewDatabaseName="<YourDatabaseName>"
    
    Connect-AzAccount
    Get-AzSubscription
    Select-AzSubscription -SubscriptionName $SubscriptionName
    
    # Or list all restore points
    Get-AzSqlDatabaseRestorePoint -ResourceGroupName $ResourceGroupName -ServerName $ServerName -DatabaseName $DatabaseName
    
    # Get the specific database to restore
    $Database = Get-AzSqlDatabase -ResourceGroupName $ResourceGroupName -ServerName $ServerName -DatabaseName $DatabaseName
    
    # Pick desired restore point using RestorePointCreationDate "xx/xx/xxxx xx:xx:xx xx"
    $PointInTime="<RestorePointCreationDate>"
    
    # Restore database from a restore point
    $RestoredDatabase = Restore-AzSqlDatabase –FromPointInTimeBackup –PointInTime $PointInTime -ResourceGroupName $Database.ResourceGroupName -ServerName $Database.ServerName -TargetDatabaseName $NewDatabaseName –ResourceId $Database.ResourceID
    
    # Use the following command to restore to a different server
    #$TargetResourceGroupName = $Database.ResourceGroupName # for restoring to different server in same resourcegroup 
    #$RestoredDatabase = Restore-AzSqlDatabase –FromPointInTimeBackup –PointInTime $PointInTime -ResourceGroupName $TargetResourceGroupName -ServerName $TargetServerName -TargetDatabaseName $NewDatabaseName –ResourceId $Database.ResourceID
    
    # Verify the status of restored database
    $RestoredDatabase.status
    

Obnovení stávajícího vyhrazeného fondu SQL (dříve SQL DW) prostřednictvím portálu Azure

  1. Přihlaste se k portálu Azure.

  2. Přejděte do vyhrazeného fondu SQL, ze kterého chcete provést obnovení.

  3. V horní části stránky Přehled vyberte Obnovit.

    Screenshot from the Azure portal, the Overview page navigation bar of a SQL pool, the Restore button is highlighted.

  4. Vyberte buď automatické body obnovení, nebo uživatelem definované body obnovení. Pokud vyhrazený fond SQL (dříve SQL DW) nemá žádné automatické body obnovení, počkejte několik hodin nebo vytvořte před obnovením uživatelem definovaný bod obnovení. V případě uživatelem definovaných bodů obnovení vyberte existující nebo vytvořte nový. Pro Server můžete vybrat server v jiné skupině prostředků a oblasti nebo vytvořit nový. Po zadání všech parametrů vyberte Zkontrolovat a obnovit.

    Screenshot from the dedicated SQL pool Restore page of the Azure portal. For Restore point type, the radio button for User-defined restore points is selected.

Obnovení existujícího vyhrazeného fondu SQL (dříve SQL DW) do jiného předplatného prostřednictvím PowerShellu

Toto je podobné pokyny k obnovení existujícího vyhrazeného fondu SQL, ale následující pokyny ukazují, že rutina PowerShellu Get-AzSqlDatabase by se měla provádět v původním předplatném, zatímco rutina PowerShellu Restore-AzSqlDatabase by se měla provádět v cílovém předplatném. Uživatel, který provádí obnovení, musí mít ve zdrojovém i cílovém předplatném správná oprávnění.

  1. Otevřete PowerShell.

  2. Pokud používáte starší verzi, Update-Moduleaktualizujte modul Az.Sql na verzi 3.8.0 (nebo vyšší). Jinak způsobí selhání. Ověření verze pomocí PowerShellu:

    foreach ($i in (get-module -ListAvailable | ?{$_.name -eq 'az.sql'}).Version) { $version = [string]$i.Major + "." + [string]$i.Minor; if ($version -gt 3.7) {write-host "Az.Sql version $version installed. Prequisite met."} else {update-module az.sql} }
    
  3. Připojení k vašemu účtu Azure a uveďte všechna předplatná přidružená k vašemu účtu.

  4. Vyberte předplatné, které obsahuje databázi, která se má obnovit.

  5. Vypíše body obnovení pro vyhrazený fond SQL (dříve SQL DW).

  6. Pomocí metody RestorePointCreationDate vyberte požadovaný bod obnovení.

  7. Vyberte cílové předplatné, ve kterém se má databáze obnovit.

  8. Obnovte vyhrazený fond SQL (dříve SQL DW) do požadovaného bodu obnovení pomocí rutiny PowerShellu Restore-AzSqlDatabase .

  9. Ověřte, že obnovený vyhrazený fond SQL (dříve SQL DW) je online.

    $SourceSubscriptionName="<YourSubscriptionName>"
    $SourceResourceGroupName="<YourResourceGroupName>"
    $SourceServerName="<YourServerNameWithoutURLSuffixSeeNote>"  # Without database.windows.net
    $SourceDatabaseName="<YourDatabaseName>"
    $TargetSubscriptionName="<YourTargetSubscriptionName>"
    $TargetResourceGroupName="<YourTargetResourceGroupName>"
    $TargetServerName="<YourTargetServerNameWithoutURLSuffixSeeNote>"  # Without database.windows.net
    $TargetDatabaseName="<YourDatabaseName>"
    
    # Update Az.Sql module to the latest version (3.8.0 or above)
    # Update-Module -Name Az.Sql -RequiredVersion 3.8.0
    
    Connect-AzAccount
    Get-AzSubscription
    Select-AzSubscription -SubscriptionName $SourceSubscriptionName
    
    # Pick desired restore point using RestorePointCreationDate "xx/xx/xxxx xx:xx:xx xx"
    $PointInTime="<RestorePointCreationDate>"
    # Or list all restore points
    Get-AzSqlDatabaseRestorePoint -ResourceGroupName $SourceResourceGroupName -ServerName $SourceServerName -DatabaseName $SourceDatabaseName
    
    # Get the specific database to restore
    $Database = Get-AzSqlDatabase -ResourceGroupName $SourceResourceGroupName -ServerName $SourceServerName -DatabaseName $SourceDatabaseName
    
    # Switch context to the destination subscription
    Select-AzSubscription -SubscriptionName $TargetSubscriptionName
    
    # Restore database from a desired restore point of the source database to the target server in the desired subscription
    $RestoredDatabase = Restore-AzSqlDatabase –FromPointInTimeBackup –PointInTime $PointInTime -ResourceGroupName $TargetResourceGroupName -ServerName $TargetServerName -TargetDatabaseName $TargetDatabaseName –ResourceId $Database.ResourceID
    
    # Verify the status of restored database
    $RestoredDatabase.status