Przywracanie istniejącej dedykowanej puli SQL (dawniej SQL DW)

Z tego artykułu dowiesz się, jak przywrócić istniejącą dedykowaną pulę SQL (dawniej SQL DW) przy użyciu witryny Azure Portal i programu PowerShell.

Uwaga

Te wskazówki dotyczą tylko autonomicznych dedykowanych pul SQL (dawniej SQL DW). W przypadku dedykowanych pul SQL w obszarze roboczym usługi Azure Synapse Analytics zobacz Przywracanie istniejącej dedykowanej puli SQL.

Zanim rozpoczniesz

  1. Zweryfikuj pojemność jednostek DTU. Każda pula jest hostowana przez logiczny serwer SQL (na przykład myserver.database.windows.net), który ma domyślny limit przydziału jednostek DTU. Sprawdź, czy serwer ma wystarczający pozostały limit przydziału jednostek DTU dla przywracanej bazy danych. Aby dowiedzieć się, jak obliczyć wymaganą jednostkę DTU lub zażądać większej liczby jednostek DTU, zobacz Żądanie zmiany limitu przydziału jednostek DTU.

  2. Pamiętaj, aby zainstalować program Azure PowerShell.

    Uwaga

    Do interakcji z platformą Azure zalecamy używanie modułu Azure Az w programie PowerShell. Zobacz Instalowanie programu Azure PowerShell, aby rozpocząć. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.

  3. Masz istniejący punkt przywracania, z którego chcesz przywrócić. Jeśli chcesz utworzyć nowe przywracanie, zobacz samouczek tworzenia nowego punktu przywracania zdefiniowanego przez użytkownika.

Przywracanie istniejącej dedykowanej puli SQL (dawniej SQL DW) za pośrednictwem programu PowerShell

Aby przywrócić istniejącą dedykowaną pulę SQL (dawniej SQL DW) z punktu przywracania, użyj polecenia cmdlet Programu PowerShell Restore-AzSqlDatabase .

  1. Otwórz program PowerShell.

  2. Połączenie do konta platformy Azure i wyświetl listę wszystkich subskrypcji skojarzonych z twoim kontem.

  3. Wybierz subskrypcję zawierającą bazę danych do przywrócenia.

  4. Wyświetl listę punktów przywracania dla dedykowanej puli SQL (dawniej SQL DW).

  5. Wybierz żądany punkt przywracania przy użyciu polecenia RestorePointCreationDate.

  6. Przywróć dedykowaną pulę SQL (dawniej SQL DW) do żądanego punktu przywracania przy użyciu polecenia cmdlet programu PowerShell Restore-AzSqlDatabase .

    1. Aby przywrócić dedykowaną pulę SQL (dawniej SQL DW) na innym serwerze, upewnij się, że określono inną nazwę serwera. Ten serwer może również znajdować się w innej grupie zasobów i regionie.
    2. Aby przywrócić do innej subskrypcji, zobacz poniższą sekcję.
  7. Sprawdź, czy przywrócona dedykowana pula SQL (dawniej SQL DW) jest w trybie online.

  8. Po zakończeniu przywracania można skonfigurować odzyskaną dedykowaną pulę SQL (dawniej SQL DW), konfigurując bazę danych po odzyskaniu.

    
    $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
    

Przywracanie istniejącej dedykowanej puli SQL (dawniej SQL DW) za pośrednictwem witryny Azure Portal

  1. Zaloguj się w witrynie Azure Portal.

  2. Przejdź do dedykowanej puli SQL, z której chcesz przywrócić.

  3. W górnej części strony Przegląd wybierz pozycję Przywróć.

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

  4. Wybierz pozycję Automatyczne punkty przywracania lub Punkty przywracania zdefiniowane przez użytkownika. Jeśli dedykowana pula SQL (dawniej SQL DW) nie ma żadnych automatycznych punktów przywracania, zaczekaj kilka godzin lub utwórz punkt przywracania zdefiniowany przez użytkownika przed przywróceniem. W obszarze Punkty przywracania zdefiniowane przez użytkownika wybierz istniejący lub utwórz nowy. W polu Serwer możesz wybrać serwer w innej grupie zasobów i regionie lub utworzyć nowy. Po podaniu wszystkich parametrów wybierz pozycję Przejrzyj i przywróć.

    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.

Przywracanie dedykowanej puli SQL (wcześniej SQL DW) do innej subskrypcji za pomocą programu PowerShell

Jest to podobne wskazówki dotyczące przywracania istniejącej dedykowanej puli SQL, jednak poniższe instrukcje pokazują, że polecenie cmdlet Get-AzSqlDatabase programu PowerShell powinno być wykonywane w subskrypcji źródłowej, podczas gdy polecenie cmdlet Restore-AzSqlDatabase programu PowerShell powinno być wykonywane w subskrypcji docelowej. Użytkownik wykonujący przywracanie musi mieć odpowiednie uprawnienia zarówno w subskrypcjach źródłowych, jak i docelowych.

  1. Otwórz program PowerShell.

  2. Zaktualizuj moduł Az.Sql do wersji 3.8.0 (lub nowszej), jeśli używasz starszej wersji przy użyciu polecenia Update-Module. W przeciwnym razie spowoduje to błędy. Aby zweryfikować wersję za pomocą programu 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. Połączenie do konta platformy Azure i wyświetl listę wszystkich subskrypcji skojarzonych z twoim kontem.

  4. Wybierz subskrypcję zawierającą bazę danych do przywrócenia.

  5. Wyświetl listę punktów przywracania dla dedykowanej puli SQL (dawniej SQL DW).

  6. Wybierz żądany punkt przywracania przy użyciu polecenia RestorePointCreationDate.

  7. Wybierz subskrypcję docelową, w której ma zostać przywrócona baza danych.

  8. Przywróć dedykowaną pulę SQL (dawniej SQL DW) do żądanego punktu przywracania przy użyciu polecenia cmdlet programu PowerShell Restore-AzSqlDatabase .

  9. Sprawdź, czy przywrócona dedykowana pula SQL (dawniej SQL DW) jest w trybie 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