Share via


Meglévő dedikált SQL-készlet visszaállítása (korábban SQL DW)

Ebből a cikkből megtudhatja, hogyan állíthat vissza egy meglévő dedikált SQL-készletet (korábbi nevén SQL DW-t) az Azure Portal és a PowerShell használatával.

Feljegyzés

Ez az útmutató csak különálló dedikált SQL-készletekhez (korábban SQL DW-hez) készült. Az Azure Synapse Analytics-munkaterület dedikált SQL-készleteiért lásd : Meglévő dedikált SQL-készlet visszaállítása.

Mielőtt elkezdené

  1. Ellenőrizze a DTU-kapacitást. Minden készletet egy logikai SQL-kiszolgáló üzemeltet (például myserver.database.windows.net), amely alapértelmezett DTU-kvótával rendelkezik. Ellenőrizze, hogy a kiszolgáló rendelkezik-e elegendő DTU-kvótával az adatbázis visszaállításához. A szükséges DTU kiszámításának vagy további DTU kérésének megismeréséhez tekintse meg a DTU-kvóta módosításának kérése című témakört.

  2. Mindenképpen telepítse az Azure PowerShellt.

    Feljegyzés

    Javasoljuk, hogy az Azure Az PowerShell modult használja az Azure-ral való interakcióhoz. Az első lépésekhez tekintse meg az Azure PowerShell telepítését ismertető szakaszt. Az Az PowerShell-modulra történő migrálás részleteiről lásd: Az Azure PowerShell migrálása az AzureRM modulból az Az modulba.

  3. Rendelkezik egy meglévő visszaállítási ponttal, amelyről vissza szeretne állítani. Ha új visszaállítást szeretne létrehozni, tekintse meg az oktatóanyagot egy új, felhasználó által definiált visszaállítási pont létrehozásához.

Meglévő dedikált SQL-készlet (korábbi nevén SQL DW) visszaállítása a PowerShell használatával

Ha egy meglévő dedikált SQL-készletet (korábbi nevén SQL DW-t) szeretne visszaállítani egy visszaállítási pontról, használja a Restore-AzSqlDatabase PowerShell-parancsmagot.

  1. Nyissa meg a PowerShellt.

  2. Csatlakozás az Azure-fiókjába, és listázhatja a fiókjához társított összes előfizetést.

  3. Válassza ki a visszaállítani kívánt adatbázist tartalmazó előfizetést.

  4. Listázhatja a dedikált SQL-készlet (korábban SQL DW) visszaállítási pontjait.

  5. Válassza ki a kívánt visszaállítási pontot a RestorePointCreationDate használatával.

  6. Állítsa vissza a dedikált SQL-készletet (korábbi nevén SQL DW) a kívánt visszaállítási pontra a Restore-AzSqlDatabase PowerShell-parancsmag használatával.

    1. A dedikált SQL-készlet (korábbi nevén SQL DW) másik kiszolgálóra való visszaállításához adja meg a másik kiszolgáló nevét. Ez a kiszolgáló egy másik erőforráscsoportban és régióban is lehet.
    2. Ha másik előfizetésre szeretne visszaállítani, tekintse meg az alábbi szakaszt.
  7. Ellenőrizze, hogy a visszaállított dedikált SQL-készlet (korábban SQL DW) online állapotban van-e.

  8. A visszaállítás befejezése után konfigurálhatja a helyreállított dedikált SQL-készletet (korábbi nevén SQL DW), ha a helyreállítás után konfigurálja az adatbázist.

    
    $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
    

Meglévő dedikált SQL-készlet (korábbi nevén SQL DW) visszaállítása az Azure Portal használatával

  1. Jelentkezzen be az Azure Portalra.

  2. Lépjen arra a dedikált SQL-készletre, amelyből vissza szeretne állítani.

  3. Az Áttekintés oldal felső részén válassza a Visszaállítás lehetőséget.

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

  4. Válassza ki az automatikus visszaállítási pontokat vagy a felhasználó által definiált visszaállítási pontokat. Ha a dedikált SQL-készlet (korábbi nevén SQL DW) nem rendelkezik automatikus visszaállítási ponttal, várjon néhány órát, vagy hozzon létre egy felhasználó által megadott visszaállítási pontot a visszaállítás előtt. Felhasználó által definiált visszaállítási pontok esetén válasszon ki egy meglévőt, vagy hozzon létre egy újat. A Kiszolgáló esetében választhat egy másik erőforráscsoportban és régióban lévő kiszolgálót, vagy létrehozhat egy újat. Az összes paraméter megadása után válassza a Véleményezés + Visszaállítás lehetőséget.

    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.

Meglévő dedikált SQL-készlet (korábban SQL DW) visszaállítása egy másik előfizetésre a PowerShell használatával

Ez hasonló útmutatás egy meglévő dedikált SQL-készlet visszaállításához, azonban az alábbi utasítások azt mutatják, hogy a Get-AzSqlDatabase PowerShell-parancsmagot az eredeti előfizetésben kell végrehajtani, míg a Restore-AzSqlDatabase PowerShell-parancsmagot a célelőfizetésben kell végrehajtani. A visszaállítást végző felhasználónak megfelelő engedélyekkel kell rendelkeznie a forrás- és a célelőfizetésekben is.

  1. Nyissa meg a PowerShellt.

  2. Frissítse az Az.Sql-modult a 3.8.0-s (vagy újabb) verzióra, ha egy régebbi verziót használ Update-Module. Ellenkező esetben hiba lép fel. A verzió ellenőrzése a PowerShell-lel:

    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. Csatlakozás az Azure-fiókjába, és listázhatja a fiókjához társított összes előfizetést.

  4. Válassza ki a visszaállítani kívánt adatbázist tartalmazó előfizetést.

  5. Listázhatja a dedikált SQL-készlet (korábban SQL DW) visszaállítási pontjait.

  6. Válassza ki a kívánt visszaállítási pontot a RestorePointCreationDate használatával.

  7. Válassza ki azt a cél-előfizetést, amelyben az adatbázist vissza kell állítani.

  8. Állítsa vissza a dedikált SQL-készletet (korábbi nevén SQL DW) a kívánt visszaállítási pontra a Restore-AzSqlDatabase PowerShell-parancsmag használatával.

  9. Ellenőrizze, hogy a visszaállított dedikált SQL-készlet (korábban SQL DW) online állapotban van-e.

    $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