Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V tomto článku se dozvíte, jak obnovit existující vyhrazený fond SQL ve službě Azure Synapse Analytics pomocí webu Azure Portal, Synapse Studia a PowerShellu. This article applies to both restores and geo-restores.
Poznámka:
Tyto pokyny jsou určené pouze pro vyhrazené fondy SQL v pracovních prostorech Azure Synapse. Samostatné vyhrazené fondy SQL (dříve SQL DW) najdete v tématu Obnovení existujícího vyhrazeného fondu SQL (dříve SQL DW).
Obnovení existujícího vyhrazeného fondu SQL prostřednictvím Synapse Studia
Přihlaste se k portálu Azure.
Přejděte do svého pracovního prostoru Azure Synapse.
V části Začínáme ->Open Synapse Studio vyberte Otevřít.
V levém navigačním podokně vyberte Data.
Select Manage pools.
Select + New to create a new dedicated SQL pool in the Azure Synapse Analytics workspace.
Na kartě Další nastavení vyberte bod obnovení, ze které chcete provést obnovení.
Pokud chcete provést geografické obnovení, vyberte pracovní prostor a vyhrazený fond SQL, který chcete obnovit.
Vyberte buď automatické body obnovení, nebo uživatelsky definované body obnovení.
Pokud vyhrazený fond SQL nemá žádné automatické body obnovení, počkejte několik hodin nebo před obnovením vytvořte uživatelem definovaný bod obnovení. V případě uživatelem definovaných bodů obnovení vyberte existující nebo vytvořte nový.
Pokud chcete obnovit vyhrazený fond SQL z jiného pracovního prostoru, vyberte Nový vyhrazený fond SQL z aktuálního pracovního prostoru. Na kartě Další nastavení vyhledejte Použít existující data a vyberte Bod obnovení. Jak je znázorněno na výše uvedeném snímku obrazovky, můžete vybrat název serveru nebo pracovního prostoru , ze kterého můžete obnovit.
Pokud obnovujete geografickou zálohu, vyberte pracovní prostor umístěný ve zdrojové oblasti a vyhrazený fond SQL, který chcete obnovit.
Poznámka:
You cannot perform an in-place restore of a SQL pool with the same name as an existing pool. Regardless of the SQL pool being in the same workspace or a different workspace.
Select Review + Create.
Obnovení existujícího vyhrazeného fondu SQL prostřednictvím webu Azure Portal
Přihlaste se k portálu Azure.
Přejděte do vyhrazeného fondu SQL, ze kterého chcete provést obnovení.
V horní části stránky Přehled vyberte Obnovit.
Vyberte buď automatické body obnovení, nebo uživatelsky definované body obnovení.
Pokud vyhrazený fond SQL nemá žádné automatické body obnovení, počkejte několik hodin nebo před obnovením vytvořte uživatelem definovaný bod obnovení.
Pokud chcete provést geografické obnovení, vyberte pracovní prostor a vyhrazený fond SQL, který chcete obnovit.
Select Review + Create.
Obnovení existujícího vyhrazeného fondu SQL prostřednictvím PowerShellu
Otevřete terminál PowerShellu.
Připojte se ke svému účtu Azure a uveďte všechna předplatná přidružená k vašemu účtu.
Vyberte předplatné, které obsahuje fond SQL, který se má obnovit.
List the restore points for the dedicated SQL pool.
Pomocí metody RestorePointCreationDate vyberte požadovaný bod obnovení.
Obnovte vyhrazený fond SQL do požadovaného bodu obnovení pomocí příkazu PowerShell Restore-AzSynapseSqlPool.
- Pokud chcete obnovit vyhrazený fond SQL do jiného pracovního prostoru, nezapomeňte zadat název jiného pracovního prostoru. Tento pracovní prostor může být také v jiné skupině prostředků a oblasti.
- Pokud chcete provést obnovení do jiného předplatného, přečtěte si část Obnovení existujícího vyhrazeného fondu SQL do jiného předplatného prostřednictvím PowerShellu dále v tomto článku.
Verify that the restored dedicated SQL pool is online.
$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
Obnovení existujícího vyhrazeného fondu SQL do jiného předplatného prostřednictvím PowerShellu
When performing a cross-subscription restore, a dedicated SQL pool in an Azure Synapse workspace can only restore directly to a standalone dedicated SQL pool (formerly SQL DW). Pokud je potřeba obnovit vyhrazený fond SQL v pracovním prostoru Azure Synapse do pracovního prostoru v cílovém předplatném, je potřeba provést další krok obnovení.
Následující příklad PowerShellu je podobný předchozímu příkladu, ale existují tři hlavní rozdíly:
- Po načtení objektu fondu SQL, který se má obnovit, je potřeba přepnout kontext předplatného na cílový (nebo zamýšlený) název předplatného.
- Při provádění obnovení použijte moduly Az.Sql místo modulů Az.Synapse.
- The below sample code has additional steps for restoring to an Azure Synapse workspace in the destination subscription. Uncomment the PowerShell commands as described in the sample.
Steps:
Otevřete terminál PowerShellu.
Pokud používáte starší verzi,
Update-Moduleaktualizujte modul Az.Sql na verzi 3.8.0 (nebo vyšší). Jinak způsobí selhání. Ověření vaší verze pomocí PowerShellu: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. Prerequisite met."} else {update-module az.sql} }Připojte se ke svému účtu Azure a uveďte všechna předplatná přidružená k vašemu účtu.
Vyberte předplatné, které obsahuje fond SQL, který se má obnovit.
List the restore points for the dedicated SQL pool.
Pomocí metody RestorePointCreationDate vyberte požadovaný bod obnovení.
Vyberte cílové předplatné, ve kterém se má obnovit fond SQL.
Obnovte vyhrazený fond SQL do požadovaného bodu obnovení pomocí cmdletu PowerShell Restore-AzSqlDatabase.
Ověřte, že obnovený vyhrazený fond SQL (dříve SQL DW) je online.
If the desired destination is a Synapse Workspace, uncomment the code to perform the additional restore step.
Vytvořte bod obnovení pro nově vytvořený datový sklad.
Retrieve the last restore point created by using the
Select -Last 1syntax.Proveďte obnovení do požadovaného pracovního prostoru Azure Synapse.
$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
Odstraňování potíží
A restore operation can result in a deployment failure based on a "RequestTimeout" exception.
Tento časový limit je možné ignorovat. Review the dedicated SQL pool page in the Azure portal and it might still have status of "Restoring" and eventually will transition to "Online".