Meglévő dedikált SQL-készlet visszaállítása
Ebből a cikkből megtudhatja, hogyan állíthat vissza egy meglévő dedikált SQL-készletet az Azure Synapse Analyticsben az Azure Portal, a Synapse Studio és a PowerShell használatával. Ez a cikk a visszaállításokra és a georeduktúra-visszaállításokra egyaránt vonatkozik.
Feljegyzés
Ez az útmutató csak Azure Synapse munkaterületeken található dedikált SQL-készletekre vonatkozik. Az önálló dedikált SQL-készletek (korábbi nevén SQL DW) esetében lásd : Meglévő dedikált SQL-készlet visszaállítása (korábbi nevén SQL DW).
Meglévő dedikált SQL-készlet visszaállítása a Synapse Studióval
Jelentkezzen be az Azure Portalra.
Lépjen az Azure Synapse-munkaterületre.
Az Első lépések –>A Synapse Studio megnyitása területen válassza a Megnyitás lehetőséget.
A bal oldali navigációs panelen válassza az Adatok lehetőséget.
Válassza a Készletek kezelése lehetőséget.
Válassza az + Új lehetőséget egy új dedikált SQL-készlet létrehozásához az Azure Synapse Analytics-munkaterületen.
A További Gépház lapon válassza ki a visszaállítási pontot.
Ha georeduktúra-visszaállítást szeretne végezni, válassza ki a helyreállítani kívánt munkaterületet és dedikált SQL-készletet.
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 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.
Ha egy másik munkaterületről szeretne visszaállítani egy dedikált SQL-készletet, válassza az Új dedikált SQL-készlet lehetőséget az aktuális munkaterületről. A További beállítások lapon keresse meg a Meglévő adatok használata lehetőséget, és válassza a Visszaállítási pont lehetőséget. A fenti képernyőképen látható módon kiválaszthatja a kiszolgáló vagy munkaterület nevét, amelyből visszaállítható.
Ha georedundáns biztonsági másolatot készít, válassza ki a forrásrégióban található munkaterületet és a visszaállítani kívánt dedikált SQL-készletet.
Feljegyzés
A meglévő készlet nevével megegyező nevű SQL-készlet helyben történő visszaállítása nem végezhető el. Függetlenül attól, hogy az SQL-készlet ugyanazon a munkaterületen vagy egy másik munkaterületen található.
Válassza a Felülvizsgálat és létrehozás lehetőséget.
Meglévő dedikált SQL-készlet visszaállítása az Azure Portalon
Jelentkezzen be az Azure Portalra.
Lépjen arra a dedikált SQL-készletre, amelyből vissza szeretne állítani.
Az Áttekintés oldal felső részén válassza a Visszaállítás lehetőséget.
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 nem rendelkezik automatikus visszaállítási ponttal, várjon néhány órát, vagy hozzon létre egy felhasználó által definiált visszaállítási pontot a visszaállítás előtt.
Ha georeduktúra-visszaállítást szeretne végezni, válassza ki a helyreállítani kívánt munkaterületet és dedikált SQL-készletet.
Válassza a Felülvizsgálat és létrehozás lehetőséget.
Meglévő dedikált SQL-készlet visszaállítása a PowerShell-lel
Nyisson meg egy PowerShell-terminált.
Csatlakozás az Azure-fiókjába, és listázhatja a fiókjához társított összes előfizetést.
Válassza ki a visszaállítani kívánt SQL-készletet tartalmazó előfizetést.
Listázhatja a dedikált SQL-készlet visszaállítási pontjait.
Válassza ki a kívánt visszaállítási pontot a RestorePointCreationDate használatával.
Állítsa vissza a dedikált SQL-készletet a kívánt visszaállítási pontra a Restore-AzSynapseSqlPool PowerShell-parancsmag használatával.
- Ha egy másik munkaterületre szeretné visszaállítani a dedikált SQL-készletet, adja meg a másik munkaterület nevét. Ez a munkaterület egy másik erőforráscsoportban és régióban is lehet.
- Ha másik előfizetésre szeretne visszaállítani, olvassa el a jelen cikk későbbi, PowerShellen keresztüli, egy másik előfizetésre történő meglévő dedikált SQL-készlet visszaállítása című témakört.
Ellenőrizze, hogy a visszaállított dedikált SQL-készlet online állapotban van-e.
$SubscriptionName="<YourSubscriptionName>" $ResourceGroupName="<YourResourceGroupName>" $WorkspaceName="<YourWorkspaceNameWithoutURLSuffixSeeNote>" # Without sql.azuresynapse.net #$TargetResourceGroupName="<YourTargetResourceGroupName>" # uncomment to restore to a different workspace. #$TargetWorkspaceName="<YourtargetWorkspaceNameWithoutURLSuffixSeeNote>" $SQLPoolName="<YourDatabaseName>" $NewSQLPoolName="<YourDatabaseName>" Connect-AzAccount Get-AzSubscription Select-AzSubscription -SubscriptionName $SubscriptionName # list all restore points Get-AzSynapseSqlPoolRestorePoint -ResourceGroupName $ResourceGroupName -WorkspaceName $WorkspaceName -Name $SQLPoolName # Pick desired restore point using RestorePointCreationDate "xx/xx/xxxx xx:xx:xx xx" $PointInTime="<RestorePointCreationDate>" # Get the specific SQL pool to restore $SQLPool = Get-AzSynapseSqlPool -ResourceGroupName $ResourceGroupName -WorkspaceName $WorkspaceName -Name $SQLPoolName # Transform Synapse SQL pool resource ID to SQL database ID because currently the restore command only accepts the SQL database ID format. $DatabaseID = $SQLPool.Id -replace "Microsoft.Synapse", "Microsoft.Sql" ` -replace "workspaces", "servers" ` -replace "sqlPools", "databases" # Restore database from a restore point $RestoredDatabase = Restore-AzSynapseSqlPool –FromRestorePoint -RestorePoint $PointInTime -ResourceGroupName $SQLPool.ResourceGroupName ` -WorkspaceName $SQLPool.WorkspaceName -TargetSqlPoolName $NewSQLPoolName –ResourceId $DatabaseID -PerformanceLevel DW100c # Use the following command to restore to a different workspace #$TargetResourceGroupName = $SQLPool.ResourceGroupName # for restoring to different workspace in same resourcegroup #$RestoredDatabase = Restore-AzSynapseSqlPool –FromRestorePoint -RestorePoint $PointInTime -ResourceGroupName $TargetResourceGroupName ` # -WorkspaceName $TargetWorkspaceName -TargetSqlPoolName $NewSQLPoolName –ResourceId $DatabaseID -PerformanceLevel DW100c # Verify the status of restored database $RestoredDatabase.status
Meglévő dedikált SQL-készlet visszaállítása egy másik előfizetésre a PowerShell használatával
Előfizetések közötti visszaállításkor az Azure Synapse-munkaterület dedikált SQL-készletei csak közvetlenül egy különálló dedikált SQL-készletbe (korábbi nevén SQL DW) állíthatók vissza. Ha egy Azure Synapse-munkaterület dedikált SQL-készletének visszaállítására van szükség a cél-előfizetés egyik munkaterületére, további visszaállítási lépésre van szükség.
Az alábbi PowerShell-példa az előzőhöz hasonló, azonban három fő különbség van:
- A visszaállítandó SQL Pool-objektum lekérése után az előfizetési környezetet át kell állítani a cél (vagy cél) előfizetés nevére.
- A visszaállítás végrehajtásakor az Az.Synapse-modulok helyett az Az.Sql-modulokat használja.
- Az alábbi mintakód további lépéseket tartalmaz az Azure Synapse-munkaterületre való visszaállításhoz a célelőfizetésben. A PowerShell-parancsok kibontása a mintában leírtak szerint.
Lépések:
Nyisson meg egy PowerShell-terminált.
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} }
Csatlakozás az Azure-fiókjába, és listázhatja a fiókjához társított összes előfizetést.
Válassza ki a visszaállítani kívánt SQL-készletet tartalmazó előfizetést.
Listázhatja a dedikált SQL-készlet visszaállítási pontjait.
Válassza ki a kívánt visszaállítási pontot a RestorePointCreationDate használatával.
Válassza ki azt a cél-előfizetést, amelyben az SQL-készletet vissza kell állítani.
Állítsa vissza a dedikált SQL-készletet a kívánt visszaállítási pontra a Restore-AzSqlDatabase PowerShell-parancsmag használatával.
Ellenőrizze, hogy a visszaállított dedikált SQL-készlet (korábban SQL DW) online állapotban van-e.
Ha a kívánt cél egy Synapse-munkaterület, bontsa ki a kódot a további visszaállítási lépés végrehajtásához.
Hozzon létre egy visszaállítási pontot az újonnan létrehozott adattárház számára.
Kérje le a szintaxissal létrehozott utolsó visszaállítási
Select -Last 1
pontot.Végezze el a visszaállítást a kívánt Azure Synapse-munkaterületre.
$SourceSubscriptionName="<YourSubscriptionName>" $SourceResourceGroupName="<YourResourceGroupName>" $SourceWorkspaceName="<YourServerNameWithoutURLSuffixSeeNote>" # Without sql.azuresynapse.net $SourceSQLPoolName="<YourDatabaseName>" $TargetSubscriptionName="<YourTargetSubscriptionName>" $TargetResourceGroupName="<YourTargetResourceGroupName>" $TargetServerName="<YourTargetServerNameWithoutURLSuffixSeeNote>" # Without sql.azuresynapse.net $TargetDatabaseName="<YourDatabaseName>" #$TargetWorkspaceName="<YourTargetWorkspaceName>" # uncomment if restore to an Azure Synapse workspace is required # 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 # list all restore points Get-AzSynapseSqlPoolRestorePoint -ResourceGroupName $SourceResourceGroupName -WorkspaceName $SourceWorkspaceName -Name $SourceSQLPoolName # Pick desired restore point using RestorePointCreationDate "xx/xx/xxxx xx:xx:xx xx" $PointInTime="<RestorePointCreationDate>" # Get the specific SQL pool to restore $SQLPool = Get-AzSynapseSqlPool -ResourceGroupName $SourceResourceGroupName -WorkspaceName $SourceWorkspaceName -Name $SourceSQLPoolName # Transform Synapse SQL pool resource ID to SQL database ID because currently the restore command only accepts the SQL database ID format. $DatabaseID = $SQLPool.Id -replace "Microsoft.Synapse", "Microsoft.Sql" ` -replace "workspaces", "servers" ` -replace "sqlPools", "databases" # 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 $DatabaseID # Verify the status of restored database $RestoredDatabase.status # uncomment below cmdlets to perform one more restore to push the SQL Pool to an existing workspace in the destination subscription # # Create restore point # New-AzSqlDatabaseRestorePoint -ResourceGroupName $RestoredDatabase.ResourceGroupName -ServerName $RestoredDatabase.ServerName ` # -DatabaseName $RestoredDatabase.DatabaseName -RestorePointLabel "UD-001" # # Gets the last restore point of the sql dw (will use the RestorePointCreationDate property) # $RestorePoint = Get-AzSqlDatabaseRestorePoint -ResourceGroupName $RestoredDatabase.ResourceGroupName -ServerName $RestoredDatabase.ServerName ` # -DatabaseName $RestoredDatabase.DatabaseName | Select -Last 1 # # Restore to destination synapse workspace # $FinalRestore = Restore-AzSynapseSqlPool –FromRestorePoint -RestorePoint $RestorePoint.RestorePointCreationDate -ResourceGroupName $TargetResourceGroupName ` # -WorkspaceName $TargetWorkspaceName -TargetSqlPoolName $TargetDatabaseName –ResourceId $RestoredDatabase.ResourceID -PerformanceLevel DW100c
Hibaelhárítás
A visszaállítási művelet "RequestTimeout" kivételen alapuló üzembe helyezési hibát eredményezhet.
Ez az időtúllépés figyelmen kívül hagyható. Tekintse át a dedikált SQL-készlet lapját az Azure Portalon, és lehet, hogy még mindig "Visszaállítás" állapotú, és végül áttér az "Online" állapotra.
Kapcsolódó tartalom
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: