Share via


Återställa en befintlig dedikerad SQL-pool (tidigare SQL DW)

I den här artikeln får du lära dig hur du återställer en befintlig dedikerad SQL-pool (tidigare SQL DW) med hjälp av Azure-portalen och PowerShell.

Kommentar

Den här vägledningen gäller endast fristående dedikerade SQL-pooler (tidigare SQL DW). Dedikerade SQL-pooler på en Azure Synapse Analytics-arbetsyta finns i Återställa en befintlig dedikerad SQL-pool.

Innan du börjar

  1. Verifiera din DTU-kapacitet. Varje pool hanteras av en logisk SQL-server (till exempel myserver.database.windows.net) som har en DTU-standardkvot. Kontrollera att servern har tillräckligt med återstående DTU-kvot för databasen som återställs. Mer information om hur du beräknar DTU som behövs eller om du vill begära mer DTU finns i Begära en DTU-kvotändring.

  2. Se till att installera Azure PowerShell.

    Kommentar

    Vi rekommenderar att du använder Azure Az PowerShell-modulen för att interagera med Azure. Se Installera Azure PowerShell för att komma igång. Information om hur du migrerar till Az PowerShell-modulen finns i artikeln om att migrera Azure PowerShell från AzureRM till Az.

  3. Ha en befintlig återställningspunkt som du vill återställa från. Om du vill skapa en ny återställning kan du läsa självstudien för att skapa en ny användardefinierad återställningspunkt.

Återställa en befintlig dedikerad SQL-pool (tidigare SQL DW) via PowerShell.

Om du vill återställa en befintlig dedikerad SQL-pool (tidigare SQL DW) från en återställningspunkt använder du PowerShell-cmdleten Restore-AzSqlDatabase .

  1. Öppna PowerShell.

  2. Anslut till ditt Azure-konto och visa en lista över alla prenumerationer som är associerade med ditt konto.

  3. Välj den prenumeration som innehåller databasen som ska återställas.

  4. Lista återställningspunkterna för den dedikerade SQL-poolen (tidigare SQL DW).

  5. Välj önskad återställningspunkt med hjälp av RestorePointCreationDate.

  6. Återställ den dedikerade SQL-poolen (tidigare SQL DW) till önskad återställningspunkt med hjälp av PowerShell-cmdleten Restore-AzSqlDatabase .

    1. Om du vill återställa den dedikerade SQL-poolen (tidigare SQL DW) till en annan server måste du ange det andra servernamnet. Den här servern kan också finnas i en annan resursgrupp och region.
    2. Information om hur du återställer till en annan prenumeration finns i avsnittet nedan.
  7. Kontrollera att den återställde dedikerade SQL-poolen (tidigare SQL DW) är online.

  8. När återställningen har slutförts kan du konfigurera den återställda dedikerade SQL-poolen (tidigare SQL DW) genom att följa konfigurationen av databasen efter återställningen.

    
    $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
    

Återställa en befintlig dedikerad SQL-pool (tidigare SQL DW) via Azure-portalen.

  1. Logga in på Azure-portalen.

  2. Gå till den dedikerade SQL-pool som du vill återställa från.

  3. Högst upp på sidan Översikt väljer du Återställ.

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

  4. Välj antingen Automatiska återställningspunkter eller Användardefinierade återställningspunkter. Om den dedikerade SQL-poolen (tidigare SQL DW) inte har några automatiska återställningspunkter väntar du några timmar eller skapar en användardefinierad återställningspunkt innan du återställer den. För Användardefinierade återställningspunkter väljer du en befintlig eller skapar en ny. För Server kan du välja en server i en annan resursgrupp och region eller skapa en ny. När du har angett alla parametrar väljer du Granska + Återställ.

    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.

Återställa en befintlig dedikerad SQL-pool (tidigare SQL DW) till en annan prenumeration via PowerShell

Det här liknar vägledningen för att återställa en befintlig dedikerad SQL-pool, men anvisningarna nedan visar att Get-AzSqlDatabase PowerShell-cmdleten ska utföras i den ursprungliga prenumerationen medan PowerShell-cmdleten Restore-AzSqlDatabase ska utföras i målprenumerationen. Användaren som utför återställningen måste ha rätt behörigheter i både käll- och målprenumerationerna.

  1. Öppna PowerShell.

  2. Uppdatera Az.Sql-modulen till 3.8.0 (eller senare) om du använder en äldre version med .Update-Module Annars kommer det att orsaka fel. Så här verifierar du versionen med PowerShell:

    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. Anslut till ditt Azure-konto och visa en lista över alla prenumerationer som är associerade med ditt konto.

  4. Välj den prenumeration som innehåller databasen som ska återställas.

  5. Lista återställningspunkterna för den dedikerade SQL-poolen (tidigare SQL DW).

  6. Välj önskad återställningspunkt med hjälp av RestorePointCreationDate.

  7. Välj den målprenumeration där databasen ska återställas.

  8. Återställ den dedikerade SQL-poolen (tidigare SQL DW) till önskad återställningspunkt med hjälp av PowerShell-cmdleten Restore-AzSqlDatabase .

  9. Kontrollera att den återställde dedikerade SQL-poolen (tidigare SQL DW) är 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