Sdílet prostřednictvím


Obnovení vyhrazeného fondu SQL z odstraněného pracovního prostoru

V tomto článku se dozvíte, jak obnovit vyhrazený fond SQL ve službě Azure Synapse Analytics po náhodném vyřazení pracovního prostoru pomocí PowerShellu.

Poznámka:

Tyto pokyny jsou určené pouze pro vyhrazené fondy SQL v pracovních prostorech Azure Synapse. V případě samostatných vyhrazených fondů SQL (dříve SQL DW) postupujte podle pokynů k Obnovení fondu SQL z odstraněného serveru.

Než začnete

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.

Obnovení fondu SQL z vyřazeného pracovního prostoru

Následující ukázkový skript provede následující kroky:

  1. Otevření Powershellu

  2. Připojte se k vašemu účtu Azure.

  3. Nastavte kontext na předplatné, které obsahuje pracovní prostor, který byl vyřazen.

  4. Určete datum a čas, kdy byl pracovní prostor vyřazen. Tento krok načte přesné datum a čas vyřazení fondu SQL pracovního prostoru.

    • Tento krok předpokládá, že pracovní prostor se stejnou skupinou prostředků s názvem a stejnými hodnotami je stále dostupný.
    • Pokud ne, znovu vytvořte vyřazený pracovní prostor se stejným názvem pracovního prostoru, názvem skupiny prostředků, oblastí a všemi stejnými hodnotami z předchozího vyřazeného pracovního prostoru.
  5. Vytvořte řetězec ID prostředku fondu SQL, který chcete obnovit. Formát vyžaduje Microsoft.Sql. To zahrnuje datum a čas vyřazení serveru.

  6. Obnovte databázi z vyřazeného pracovního prostoru. Obnovení do cílového pracovního prostoru se zdrojovým fondem SQL

  7. Ověřte stav obnovené databáze jako online.

    $SubscriptionID = "<YourSubscriptionID>"
    $ResourceGroupName = "<YourResourceGroupName>"
    $WorkspaceName = "<YourWorkspaceNameWithoutURLSuffixSeeNote>"  # Without sql.azuresynapse.net
    $DatabaseName = "<YourDatabaseName>"
    $TargetResourceGroupName = "<YourTargetResourceGroupName>"
    $TargetWorkspaceName = "<YourtargetServerNameWithoutURLSuffixSeeNote>"
    $TargetDatabaseName = "<YourDatabaseName>"
    
    Connect-AzAccount
    Set-AzContext -SubscriptionID $SubscriptionID
    
    # Get the exact date and time the workspace SQL pool was dropped.
    # This assumes that the workspace with the same name resource group and same values is still available.
    # If not, recreate the dropped workspace with the same workspace name, resource group name, region, 
    # and all the same values from prior dropped workspace.
    # There should only be one selection to select from.
    $paramsGetDroppedSqlPool = @{
        ResourceGroupName = $ResourceGroupName
        WorkspaceName     = $WorkspaceName
        Name              = $DatabaseName
    }
    $DroppedDateTime = Get-AzSynapseDroppedSqlPool @paramsGetDroppedSqlPool `
        | Select-Object -ExpandProperty DeletionDate
    
    # Construct a string of the resource ID of the sql pool you wish to recover.
    # The format requires Microsoft.Sql. This includes the approximate date time the server was dropped.
    $SourceDatabaseID = "/subscriptions/$SubscriptionID/resourceGroups/$ResourceGroupName/providers/" `
                    + "Microsoft.Sql/servers/$WorkspaceName/databases/$DatabaseName"    
    
    # Restore to the target workspace with the source SQL pool.
    $paramsRestoreSqlPool = @{
        FromDroppedSqlPool  = $true
        DeletionDate        = $DroppedDateTime
        TargetSqlPoolName   = $TargetDatabaseName
        ResourceGroupName   = $TargetResourceGroupName
        WorkspaceName       = $TargetWorkspaceName
        ResourceId          = $SourceDatabaseID
    }
    $RestoredDatabase = Restore-AzSynapseSqlPool @paramsRestoreSqlPool
    
    # Verify the status of restored database
    $RestoredDatabase.status
    

Odstraňování potíží

Pokud se při zpracování požadavku zobrazí neočekávaná chyba, původní databáze nemusí mít kvůli krátkodobému pracovnímu prostoru k dispozici žádné body obnovení. Obvykle je to v případě, že pracovní prostor existoval méně než jednu hodinu.